断断续续,终于花了两个月的时间把《ios开发指南》这本书翻完了。这本书是由关东升老师所写,最新版oc和swift对比教学。书看起来很厚,不过自己前期看过慕课网的教学视频,对一些基本概念还算了解,所以看起来并不吃力。书写的之所以很厚,我想作者是想把ios开发中最经常遇到的,最重要的一些知识写出来,不过呢,越是想面面俱到,越是不清不楚。比如ios的uikit使用,比如网络部分,这些都知识略讲了些皮毛。如果想通过这本书就提升自己的开发能力,我觉得还是有点勉强的。这倒不是说此书没有价值(当然不是,要不然也不会有好些人买了)。我想它就像一份提纲,告诉你有哪些重要的东西,之后就需要自己去将每一个方面深入研究。
第一篇就记一下Delegate
Delegate,委托,代理,叫啥的都有,翻译各不相同,其功能简单说来,无非就是定义了一些接口,实现本接口的类,都要按照本接口的定义,去实现必须实现的方法,以UIAlertViewDelegate为例。
class ViewController:UIViewController,UIAlertViewDelegate
{
@IBAction func testAlertView(sender:AnyObject)
{
let alert:UIAlertView = UIAlertView(title:"Alert",message:"Alert test",delegate:self,cancelButtonTitle:"NO",otherButtonTitles:"YES")
alertView.show()
}
func alertView(alertView:UIAlertView,clickedButtonAtIndex buttonIndex:Int)
{
NSLog(@"alert test")
}
}
以上只是为了说明下delegate,并不建议这么写,现在都是写UIAlertViewController。
在UIAlertView的构造函数里,有一句delegate:self,这句话其实就是把当前的ViewController的对象传递给alert对象,当alert弹出后,用户点击按钮时,就会调用viewController对象中实现的alertView方法,此方法是实现UIAlertViewDelegate中定义好的。