[英]Deprecated methods in xcode7/swift 2.0
我正在使用xcode7 / swift 2.0將內置於ios 8的應用程序更新為ios9。 像許多其他人一樣,我的應用程序崩潰非常嚴重。 我的應用程序的基本概念是允許用戶將視頻/圖像上傳到特定事件。 現在,我收到一條錯誤消息說
找不到要更新的對象(代碼:101,版本:1.9.0)
從解析。 我最初以為是Parse的錯誤,但發現我在更新代碼時可能犯了一些愚蠢的錯誤。 如果您可以查看我所做的更改並指出我所做的錯誤,那將非常有幫助。
我更改了以下內容:
var outputURL = NSURL.fileURLWithPath(NSTemporaryDirectory().stringByAppendingPathComponent("\(filename)").stringByAppendingString(".mp4"))
至
var outputURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).URLByAppendingPathComponent("\(filename).mp4")
我進行了更改,因為現在不推薦使用stringByAppendingString。
我所做的其他更改是:
let filename = (outputFileUrl.absoluteString.stringByDeletingPathExtension.lastPathComponent ?? "video") + "-c"
至
let filename = (outputFileUrl.URLByDeletingPathExtension?.lastPathComponent ?? "video") + "-c"
我很確定我對轉換函數的處理正確。 如果有人能指出我在這兩個更改中做錯了什么,將不勝感激。
第一個示例的區別是:
例如,使用URL相關的API代替…contentsOfFile
使用…contentsOfURL
或從path
屬性獲取URL的path
let outputURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).URLByAppendingPathComponent("\(filename).mp4").path!
第二個示例返回一個字符串,該字符串在以前的語法中具有百分比編碼的特殊字符,而在新語法中返回了一個不具有百分比編碼的字符串。 您可以添加百分比編碼。
保留舊語法的另一種方法是將String
NSString
為NSString
例如
let filename = (((outputFileUrl.absoluteString as NSString).stringByDeletingPathExtension as NSString).lastPathComponent ?? "video") + "-c"
但我建議使用與網址相關的API
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.