1.方法名不同于常见的c,c++,java这些个语言.这一点在objective-c和swift中都是一致的
override func viewDidLoad() {
super.viewDidLoad()
print("ready")
let thread = NSThread(target: self, selector: Selector(test:other:, object: ["1","2"])
thread.start()
print("you win")
}
func test(data:Array<String>,other:Int){
NSThread.sleepForTimeInterval(3)
print("I am here.\(data)")
}
红色部分是我自己人为加的参数.当然只有初始值0.
data是一个调用的时候传入的参数,是AnyObject类型的所以可以传任意类型.这里顺利打印出来了它的各项
注意蓝色部分,我的方法名组成是:方法名:第二个参数名:,第一个参数名给忽略了.参考:http://my.oschina.net/huami/blog/178379
如果只有一个参数用test:,没有参数用test,千万不要加上冒号,那表示有一个参数
2.苹果的sdk更新变化很快,几乎每年都在变.记录它的变化很有必要,有时候一个方法突然行不通了,查了文档才知道
原来的实现已经变了
3.AnyObject 一定不要觉得麻烦就用这类的对象当model来传输数据.最好是自己创建一个类或者一个struct.直接用这个会有非常多的问题.
4.File --->新建的工程是一个单独的工程 ,而 在工作空间下点击加号新建的项目是在工作空间下的.一个工作空间可以同时包含多个工程.