當您想對PHAsset
進行更改時,可將其包裝在performChanges
塊中。您在完成塊中獲得成功Bool
和錯誤NSError
。現在,我想在請求失敗的情況下向用戶顯示警報。這是訣竅:用戶點擊時檢測不允許在更改照片庫時允許
PHPhotoLibrary.sharedPhotoLibrary().performChanges({() -> Void in
let request = PHAssetChangeRequest(forAsset: asset)
request.creationDate = date
}, completionHandler: { (success: Bool, error: NSError?) -> Void in
dispatch_async(dispatch_get_main_queue()) {
if let error = error {
//present alert
}
}
})
問題是當用戶點擊時不允許它也提示警報。我不想這樣做,用戶有意取消它,所以沒有必要通知他們失敗。但是,我怎麼能檢測到這是發生了什麼?錯誤userInfo
是nil
,它似乎沒有提供任何有用的信息來檢測該情況。我錯過了什麼嗎?
試着看看錯誤的代碼。可能有一個特定的代碼用於指示用戶拒絕訪問。 – rmaddy
@rmaddy謝謝,'error.code'是'-1',這似乎是一個通用的錯誤'操作無法完成。 (Cocoa error -1。)' – Joey