美文网首页
Swift遇到的问题总结(更新ing)

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

作者: 刘泽要长肉 | 来源:发表于2017-03-27 12:09 被阅读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

    • open:可以被继承和overide
    • public:不可以被继承和overide,可以被外部访问
    • internal:作用范围仅限在 entity 所定义的模块内部,其他模块文件无法访问
    • fileprivate:作用范围为当前文件,例如(extention)
    • private:只允许当前作用域访问
      参考:http://www.jianshu.com/p/691f6430375b
      http://www.jianshu.com/p/604305a61e57

    相关文章

      网友评论

          本文标题:Swift遇到的问题总结(更新ing)

          本文链接:https://www.haomeiwen.com/subject/pjfrottx.html