- 时隔1个月,终于下定决心把项目从2.2升级为Swift 3.0 ,花费了10左右小时,代码量有5000多一点, 本来0个警告,现在还有32个警告还没有给消除呢。
###我总结3.0与2.2区别
-
1.闭包注意回调函数 + @escaping @escaping与@non-escaping声明用来修饰闭包的 在函数return后,闭包并不会被销毁,它被持有了。因为这个闭包要在异步请求回来后才执行,这时候函数已经return了,为了能执行,必须被其他对象持有,这里需要注意循环引用 @non-escaping:闭包在函数内执行完后,函数才返回,闭包销毁.
-
2.函数 名字 _
///根据 用户查询 他上传的歌曲
class func QueryUserMusicNetGet(_ user: UserModel,net:@escaping (_ objects: [AnyObject]?, _ error: NSError?) -> ()){
//创建用户
let user = AVObject(className: "_User", objectId: (u