mac/iOS开发之storyboard与控制器连线多对一

macOS和iOS开发中使用Storyboard或xib搭建界面使程序员开发速度和效率有了极大的提高。相对于使用纯代码开发,不管是独立开发和团队开发,我的都比较倾向于使用storyboard,没错是storyboard不包含xib。曾经一直以为纯代码开发高大上,当熟悉storyboard开发后,不管是在公司开发软件仍是本身作独立应用程序,感受彻底离不开它,开发效率成倍的提升,也特别节约时间。程序员

顺便安利个资料群,黑客攻防技术,面试宝典,开发进阶都有,挺方便的QQ资料群707641720面试

在开发中,macOS/iOS会常常用到storyboard与控制器连线,其中控件与控制器一对一连线很简单,你们都知道,但如何使用Interface Builder Outlet / Action 多对一连线呢,好比多个UILabel共同使用一个IBOutlet对象,或者说多个UIButton公用一个IBAction响应事件?数组

如上图所示,若是使用的是Swift语言开发,只需@IBOutlet与一个UILabel数组便可与多个UILabel相链接,因为日常可能会须要获取多个对象,但又不肯意一个一个连线,使用此种方法很是方便经过建立Model一并修改多个对象属性的值。但在使用Objective-C语言开发中,需使用IBOutletCollection(id)与多个控件相连,以下图所示:

OC连线中IBOutlet经常使用,但IBOutletCollection却并不为多数人所知,对于喜欢偷懒的程序员来讲,搭配IBOutletCollection能够事半功倍。

@property (strong, nonatomic) IBOutletCollection(id) NSArray<UILabel *> *labelArray;网络

除了IBOutlet多对一之外,还有就是IBAction多对一。在应用程序开发中,IBAction多对一很是方便开发者将操做event差很少的控件写在一个响应方法里面。以前在开发一款mac播放器SBPlayer时,其中切换颜色的9个不一样颜色按钮点击目的无非是给某以代理方法传不一样的NSColor,经过将9个按钮的IBAction链接在同一个事件上,在代码量很是少的状况下,便实现了我的想要的功能。以下图IBAction在Swift语言下的链接方法:ui

Objective-C中使用IBAction多对一和Swift语言相似。

对于正准备上手或已经上手storyboard的开发者来讲,熟练使用IBAction和IBOutlet多对一链接相信会是如虎添翼!atom

顺便安利个资料群,黑客攻防技术,面试宝典,开发进阶都有,挺方便的QQ资料707641720代理

图文来源于网络,若有侵权请联系小编删除cdn

相关文章
相关标签/搜索