2010-03-07 3 views
2

나는 간단한 것을 놓치고있어.하지만 Google은 도움이 안된다.NSDocument의 fileWrapperOfType을 무시하면 "문서를 저장할 수 없습니다."

내 파일이 저장되어 잘로드됩니다. (나는 dataOfType을 덮어 썼다.) 그런 다음 번들 작성을 위해 fileWrapperOfType을 덮어 쓴다. "문서 '제목 없음'을 '테스트'로 저장할 수 없다." 시트를 저장하려고 할 때. 심지어 가장 기본적인 형태로 내 방법을 비우는 경우에도 내가 생각할 수있는 ...

- (NSFileWrapper*)fileWrapperOfType:(NSString*)typeName error:(NSError**)outError 
{ 
    NSFileWrapper* worldWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil]; 
    return [worldWrapper autorelease]; 
} 

... 여전히 저장할 수 없습니다. 내가 뭘 놓치고 있니? 워드 프로세서

+0

일반적으로 반환 값을 확인하고 가능한 경우 - NSError 출력 매개 변수가 항상 유용합니다. – Jay

답변

1

(강조 광산) :

사전 해야는 그 값이 그 키를 파일 이름 아이들과이 될 수있는 파일 래퍼는 항목이 포함되어 있습니다. 당신은 nil 사용

그래서 내 생각은 worldWrappernil이며, nil을 반환하는 것은 파일을 저장 할 수 없다는 것으로 해석된다는 점이다.

+0

닫기; 나는 worldWrapper가 non-nil (그리고 그것은)이라는 것을 확실히하기 위해 체크했다. 그러나이 대답은 아무 것도 아닌 빈 사전을 사용해 보도록 권했다. 이것은 여전히 ​​매우 이례적인 것처럼 보입니다. 대부분의 메소드가 빈 사전 대신에 무한 사전을 허용하지 않습니까? – andyvn22

+1

@ andyvn22 : 일부 메소드는 일부 메소드는 수행하지 만 일부 메소드는 수행하지 않습니다. 원하는 타입 (사전, 문자열, 배열 등)을 nil이 아닌 빈 값으로 전달해야하는 경우가 점점 더 많아지고 있기 때문에 필요한 경우가 아니라 할지라도 일반적으로 그렇게하는 것이 좋습니다. – Chuck