NSOutlineView 사용 방법
OSX의 특수 디렉토리인 패키지 내용을 표시하는 앱의 예.
프로젝트 만들기
Cocoa Application을 Use Storyboards 및 Document Based에 확인하여 작성합니다.
Tragets - Info - Document Types에서
Extensions를 지정합니다. (이 예에서는 xcodeproj)
Document si distributed as a bundle 를 체크한다.
Document 클래스에 추가하는 내용
var fileWrapper = NSFileWrapper( directoryWithFileWrappers:[:] )
override func
readFromFileWrapper (
fileWrapper : NSFileWrapper
, ofType typeName : String
) throws {
self.fileWrapper = fileWrapper
}
NSFileWrapper 클래스 확장
확장
NSFileWrapper {
func
children() -> [ NSFileWrapper ]? {
if let wFWs = fileWrappers {
var v = [ NSFileWrapper ]()
for ( _, value ) in wFWs {
v.append(value)
}
return v
} else {
return nil
}
}
func
isLeaf() -> Bool {
return !directory
}
}
Storyboard
NSTreeController 및 NSOutlineView 배치
NSTreeController의 Key Paths
Children 에 chidren
Leaf 에 isLeaf
(Count는 비어 있습니다)
NSOutlineView
cell based 로 한다.
Columns 1로
바인딩
NSTreeController/Content Array
Bind to ViewController
Controller key / 공백
모델 키 경로 / view.window.windowController.document.fileWrapper.children
NSOutlineView/TableColumns
Bind to Tree Controller
Controller Key/arrangedObject
Model Key Path/filename
출처 GitHub https://github.com/Satachito/Samples 위에 두었습니다.
Reference
이 문제에 관하여(NSOutlineView 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Satachito/items/b6103f5d5b236e2f79f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(NSOutlineView 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Satachito/items/b6103f5d5b236e2f79f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)