Swift必会知识点(一)

作者: 姜小码 | 来源:发表于2016-01-22 23:12 被阅读144次

    自从apple将swift开源后,swift的发展钱途一片光明啊,Perfect已将swift带到了服务器端。PerfectlySoft是加拿大的一家创业公司,perfect让使用苹果的Swift语言构建企业级Web应用程序成为可能,到时候直接招一个swift程序员,从app到后端全都包了,那是不是很节约成本😂

    感兴趣的可以star一下Perfect的GitHub页面


    1、Swift中除了class为引用类型外,其他都是值类型。所有的基本数据类型都是struct。值类型是线程安全的,但当涉及到处理大量数据并且频繁增减元素时,性能会比较低。

    var array = [1,2,3]
    var arrayNew = array
    arrayNew.append(4)
    array //array的值仍为 [1,2,3], arrayNew的修改的是array的值拷贝
    

    OC下的 NSMutableArray、NSMutableDictionary、NSMutableSet是引用类型,Swift与OC是无缝兼容的,可将 Array、Set、Dictionary 转换为OC下对应的类型

    var array = [1,2,3] as NSMutableArray
    var arrayNew = array
    arrayNew.addObject(4)
    array //array的值变成了[1,2,3,4]
    

    2、guard
    可以把guard近似的看做Assert,但guard可以优雅的退出而非崩溃。guard中解包得到的值可以在下面的代码中使用,当然是限于该代码块

    func checkIn(age: Int?) {
        guard let a = age where a < 8 else {
            print("大于8岁请买票")
            return
        }
        print("上车...")
    }
    

    3、单例

    class TestObject {
        private static let testObject = TestObject()
        
        static var getInstance: TestObject {
            return testObject
        }
        private init() {
            
        }
    }
    

    4、扩展 Swift2.0中,可以对协议进行属性和方法的扩展,与扩展类和结构体类似

    extension String {
        func showAuthor() {
            print("姜小码")
        }
    }
    "abc".showAuthor()
    

    相关文章

      网友评论

        本文标题:Swift必会知识点(一)

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