Document-Based App의 macOS 앱에서 메뉴에서 파일을 여는 데 필요한 사항

2556 단어 XcodeSwiftMac
이미지 뷰어를 만들어 보자고 생각하면 처음으로 가볍게 빠졌기 때문에, 같은 일로 넘어지는 사람도 있을 것입니다, 라고 하는 것으로.
환경은 Xcode12.3.

Document App에서 새 프로젝트 만들기



이것은 당연하기 때문에 설명은 생략.

Document Types에 적용되는 파일 형식 등록



Target->Info->Document Types에 파일을 등록해 간다.

Class에는 프로젝트 작성시에 자동적으로 작성되는 "Document"클래스를 지정.

Identifier에는 UTI라는 것을 지정한다. 구체적으로 어떤 문자열을 지정하면 좋을지는 Apple 본가의 정보가 보이지 않지만, 하기 사이트에 일람이 쓰여져 있다.
ht tp // // Pochin g. 슈리켄. jp / ぽちん g_ 곤 v / 응 rs 탄 ぢ g_ 가운데 s_J / 짱 p r4. HTML

이하, 이미지 파일을 여는 예.



Document 클래스를 Objective-C에서 사용할 수 있도록 합니다.



Swift 기반의 앱에서는 NSDocument를 상속한 "Document"클래스를 그대로는 사용할 수 없다고 하며, @objc 을 사용한 한 줄을 추가할 필요가 있다. (이 정보가 좀처럼 발견되지 않았다···)
구체적으로는 이런 느낌.
@objc(Document) // 追加
class Document: NSDocument {
...

Document 클래스를 읽는 방법에 손을 넣습니다.



여기까지 주면 파일 선택까지는 할 수 있으므로, 나머지는 실제의 읽기 처리를 추가한다.
디폴트에서는 이하의 메소드가 불려 갑니다.
override func read(from data: Data, ofType typeName: String)

파일 패스를 받고 싶은 경우는 아래의 메소드를 오버라이드(override) 한다.
override func read(from: URL, ofType: String)

좋은 웹페이지 즐겨찾기