2

我有一個NSDictionary中,它看起來像這樣內部的NSURL:將writeToFile不工作的NSDictionary與UIImagePickerControllerReferenceURL內

assets-library://asset/asset.JPG?id=1000000001&ext=JPG 

這NSURL是UIImagePickerControllerReferenceURL。如果沒有這個對象,NSDictionary的將節省使用此代碼罰款:

BOOL success = [dictionary writeToFile:vaultPath atomically:YES]; 

但是,當我的對象添加到NSDictionary中,在將writeToFile行返回NO。

是否與將writeToFile和NSURLs一個問題,還是因爲這個特殊的URL的?

編輯:經進一步檢查,如果我這個NSURL保存爲一個NSString相反,使用相同的數據,它仍然失敗。

回答

8

從文檔的writeToFile:atomically:

這種方法遞歸地驗證了所有包含的對象是屬性列表對象(NSData的,NSDate的,的NSNumber,NSString的,NSArray的,或者NSDictionary的實例),寫出來的文件之前,如果所有對象都不是屬性列表對象,則返回NO,因爲生成的文件不會是有效的屬性列表。