簡體   English   中英

xcode7 / swift 2.0中不推薦使用的方法

[英]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"

我很確定我對轉換函數的處理正確。 如果有人能指出我在這兩個更改中做錯了什么,將不勝感激。

第一個示例的區別是:

  • 前一種語法創建一個NSString對象
  • 新語法創建一個NSURL對象

例如,使用URL相關的API代替…contentsOfFile使用…contentsOfURL或從path屬性獲取URL的path

let outputURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).URLByAppendingPathComponent("\(filename).mp4").path!

第二個示例返回一個字符串,該字符串在以前的語法中具有百分比編碼的特殊字符,而在新語法中返回了一個不具有百分比編碼的字符串。 您可以添加百分比編碼。

保留舊語法的另一種方法是將String NSStringNSString例如

let filename = (((outputFileUrl.absoluteString as NSString).stringByDeletingPathExtension as NSString).lastPathComponent ?? "video") + "-c"

但我建議使用與網址相關的API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM