答えて

0

URLByAppendingPathComponentを使用する必要がある場合は、問題がURLByAppendingPathExtensionを使用していると思います。 "パス拡張子"はファイル拡張子なので、archivePathは "〜/ Documents.meditations.archive"です。 CachesDirectoryは一時的なファイルにデータを置いているか、メモリから読み込んでいるだけなので、一時的にCachesDirectoryで作業している可能性があります。これで修正する必要があります:

let fileManager = NSFileManager() 
let documentDirectoryUrls = fileManager.URLsForDirectory(.DocumentDirectory, .UserDomainMask) 

if let documentDirectoryUrl = documentDirectoryUrls.first { 
    let fileUrl = documentDirectoryUrl.URLByAppendingPathComponent("meditations.archive") 

    // Also, take advantage of archiveRootObject's return value to check if 
    // the file was saved successfully, and safely unwrap the `path` property 
    // of the URL. That will help you catch any errors. 
    if let path = fileUrl.path { 
     let success = NSKeyedArchiver.archiveRootObject(meditationArray, toFile: path) 

     if !success { 
      print("Unable to save array to \(path)") 
     } 
    } else { 
     print("Invalid path") 
    } 
} else { 
    print("Unable to find DocumentDirectory for the specified domain mask.") 
} 
関連する問題

 関連する問題