Swift遇到的问题总结(更新ing)

2017-03-27  本文已影响5人  刘泽要长肉

1.swift函数参数前面加 "_"的意义

func dateFormattedStringWithFormat(_ format: String, fromDate date: Foundation.Date) -> String {
        let formatter = DateFormatter()
        formatter.dateFormat = format
        return formatter.string(from: date)
    }

//函数调用
let month = dateFormattedStringWithFormat("MMMM", fromDate: date)
添加下划线外部调用不显示参数名,试用场景:函数名书写"WithFormat"已经包含Format的意思了

2.为什么使用swiftyJSON

iOS 为我们提供了解析 JSON 的库 NSJSONSerialization,我们看看使用标准库的处理方法

let JSONObject: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil)
if let statusesArray = JSONObject as? [AnyObject],
   let status = statusesArray[0] as? [String: AnyObject],
   let user = status["user"] as? [String: AnyObject],
   let username = user["name"] as? String {
    // Finally we got the username
}

这就是 SwiftyJSON 这个库要解决的问题了。我们再来看一下使用 SwiftyJSON 来处理这个解析的代码

let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string {
  //Now you got your value
}

swiftyJSON本身是个结构体 源码解析 :http://www.jianshu.com/p/a9bdbd1255b9

3.swift3中open、public、internal、fileprivate 和 private

访问权限则依次为:open,public,internal,fileprivate,private

上一篇下一篇

猜你喜欢

热点阅读