精灵巫婆 发表于 2015-1-18 11:37:10

IOS编程之座谈Objective-C :空段selector仓酷云

iPhoneSDK安装,然后最基本的是你要熟悉C语言,再来你得学习开发iPhone所使用的Objective-C语言,接著是Cocoa。如果你是Mac平台开发的入门用户前奏

Objective-C很有本性,一个较为光显的特性就是办法函数是分段式的,即函数名不写在一同,而是将其拆成N段,分离对应N个参数,年夜年夜增添了代码的可读性。

[*]#defineWQ_FUNC_LOGNSLog(@"%s",__FUNCTION__)
[*]
[*]
[*]-(void)firstSegment:(id)firstObjsecSegment:(id)secObjthirdSegment:(id)thirdObj
[*]{
[*]WQ_FUNC_LOG;
[*]}
为了便利申明,我在该办法中打印一下本人的办法称号。发送该旌旗灯号(普通地说是挪用该办法)以后

[*]-(void)viewDidLoad
[*]{
[*];
[*]
[*];
[*]}
我们会失掉以下的log输入,能够明晰的看到selector的名字为firstSegment:secSegment:thirdSegment:

[*]2013-07-0516:34:13.977Test-
主题

OK,前奏已完,进进主题,倘使我在函数原型中删撤除第二个参数secObj,会产生甚么呢?

[*]-(void)firstSegment:(id)firstObjsecSegment:(id)thirdSegment:(id)thirdObj
[*]{
[*]WQ_FUNC_LOG;
[*]}
假如利用Xcode主动补齐办法,会发明是如许挪用

[*]-(void)viewDidLoad
[*]{
[*];
[*]
[*];
[*]}
运转一下会失掉以下log:

[*]2013-07-0517:26:10.725Test-
结论是,办法被声明成了firstSegment:secSegment::这个名字,那末参数呢?固然也不难推测和考证。

[*]-(void)firstSegment:(id)firstObjsecSegment:(id)thirdSegment:(id)thirdObj
[*]{
[*]WQ_FUNC_LOG;
[*]NSLog(@"args[]={%@,%@,%@};",firstObj,thirdSegment,thirdObj);
[*]}
当thirdSegment和thirdObj都被视为参数,我们就不能不有如许一个勇敢的料想,岂非selector能够撑持空段?岂非selector能够没着名字?
实验造一个没着名字的办法,正确的说法是,一个空的selector

[*]-(void):(id)obj
[*]{
[*]}
[*]
[*]-(void)viewDidLoad
[*]{
[*];
[*]
[*]SELsel=@selector(:);
[*]if(){
[*]NSLog(@"urright");
[*]}
[*]}
编译运转,Log输入告知我们,我们的料想是准确的,Objective-C撑持空段selector。

结论

Objective-C撑持空段selector,这明显不具有优秀的代码可读性,平常我们也不会这么写这么用,那为何还要出格提出来讲这件事呢?只是想给人人提个醒,偶然候我们的一个大意大概一个不当心,就有大概变成一个必要debug很久的低水准bug,特别是,delegate办法定名又臭又长的时分……

不管是学习Objective-C语言,还是学习ios,我都只是跟着书上的例子,在苹果机上,在Xcode和InterfaceBuilder开发环境中,按部就班的“抄”些应用程序。

再现理想 发表于 2015-1-18 12:56:30

重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。

admin 发表于 2015-1-22 05:13:18

这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。

因胸联盟 发表于 2015-2-6 16:34:42

我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。

再见西城 发表于 2015-2-9 16:46:59

从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,

兰色精灵 发表于 2015-2-27 11:50:42

down下code4app网站的每个分类的代码挨着看

爱飞 发表于 2015-3-9 02:14:18

特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地

冷月葬花魂 发表于 2015-3-11 08:07:50

边吃零食边看Stanford的视频教程

若相依 发表于 2015-3-11 16:16:50

在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。

蒙在股里 发表于 2015-3-19 00:45:46

开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦

莫相离 发表于 2015-3-26 19:06:21

iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

变相怪杰 发表于 2015-4-4 06:40:51

AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

透明 发表于 2015-4-9 18:13:32

最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。

海妖 发表于 2015-4-10 16:48:49

开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦

小魔女 发表于 2015-4-13 16:48:06

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

金色的骷髅 发表于 2015-4-19 23:16:39

近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,

柔情似水 发表于 2015-4-21 14:47:20

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

仓酷云 发表于 2015-4-21 19:33:24

这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。

小女巫 发表于 2015-5-4 17:14:25

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

小妖女 发表于 2015-5-6 12:10:51

近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
页: [1]
查看完整版本: IOS编程之座谈Objective-C :空段selector仓酷云