程序员swiftSwift&Objective-C

Swift必会知识点(一)

2016-01-22  本文已影响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()
上一篇下一篇

猜你喜欢

热点阅读