
One case:
1)when swift 3 to swift 2.3,just remove “_” before parameter,
correspondingly when swift 2.3 to swift 3,just add “_” before parameter,
Example:
Swift3:
typealias LMLocationCompletionHandler = ((_ latitude:Double,_ longitude:Double,_ status:String,_ verboseMessage:String,_ error:String?)->())?
Swift2.3
typealias LMLocationCompletionHandler = ((latitude:Double,longitude:Double,status:String,verboseMessage:String,error:String?)->())?
2) add fileprivate or remvoe before defining Variables and methods
swift 3 : fileprivate var reverseGeoCodingCompletionHandler:
swift 2.3 : var reverseGeoCodingCompletionHandler:
3)
Sometimes,need reset parameters
like this CLAuthorizationStatus.NotDetermined:
just reselect NotDetermined will fix “have no member” error
4) valueForKey - value
Swift 3:
resultDict.value(forKey: “results”) as! NSArray
Swift 2.3:
resultDict.valueForKey(“results”) as! NSArray
5)method object - objectForKey
Swift 3:
locationDict.object(forKey: “formatted_address”) as! Nsstring
Swift 2.3
locationDict.objectForKey(“formatted_address”) as! Nsstring
6)NSArray’s indexOfObject
Swift 3:
inArray.indexOfObject(passingTest:)
Swift 2.3
7)
Swift 3:
let urlwithPercentEscapes = myurlstring.addingPercentEnCoding( withAllowedCharacters: .urlqueryAllowed)
Swift 2.3:
let urlwithPercentEscapes = myurlstring.stringByAddingPercentEnCodingWithAllowedCharacters( NSCharacterSet.URLqueryAllowedCharacterSet())
the difference are parameters’s first character is not same. maybe changed from lower case to upper case
总结以上是内存溢出为你收集整理的Swift 3 and Swift 2.3 change全部内容,希望文章能够帮你解决Swift 3 and Swift 2.3 change所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)