RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
ios6开发进阶与实战,ios6升级

iOS开发之枚举用法使用

前言

创新互联是一家专业提供盐池企业网站建设,专注与网站建设、成都网站设计、成都h5网站建设、小程序制作等业务。10年已为盐池众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

Enum,也就是枚举,从C语言开始就有了,C++、Java、Objective-C、Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—规范的定义代码中的状态、选项等“常量”。

举个例子,我们想要在开发中根据四季的变化做不同的操作,我们首先想到的可能会是定义一个int型变量,通过为该变量赋不同的`值来表示四季(e.g. 1为春天,2为夏天,3为秋天,4为冬天).但是,对于阅读该份代码的人来讲,他们并不能在短时间内就明白数字1234所代表的具体含义.这个时候,选择使用枚举则可以应对该需求

C语言中的枚举

在C语言中定义枚举类型的方式如下

enum 枚举名称{ 标识符 = 整型常量, 标识符 = 整型常量, 标识符 = 整型常量, 标识符 = 整型常量};

以"定义一个枚举名称为Test,拥有TestA、TestB等枚举成员的枚举类型"为例,定义方式如下

enum Test{ TestA = 0, TestB = 1, TestC = 2, TestD = 3};

注1: 当枚举成员都未设置"=整型常量"时,默认从第一个标识符开始,从0依次递增加1

注2: 当为某个枚举成员设置"=整型常量"时,其后面的标识符会在此基础上依次递增加1

在使用该枚举类型时,我们需要创建一个枚举变量

enum 枚举名称 枚举变量 = 枚举变量值;

以"创建一个枚举名称为Test的枚举变量test,并为其赋值TestB"为例

enum Test test = TestB;

注: 枚举变量值的取值只能从对应枚举类型的枚举成员中选择

我们也可以在定义枚举类型的同时定义枚举变量,该枚举变量不用初始化,可直接对其进行赋值并使用

enum Test{ TestA = 0, TestB, TestC, TestD} test;

注: 该枚举名称可以省略,直接定义枚举变量即可(称作"匿名枚举")

通过typedef为枚举类型设置一个"别名",这样便可以像使用int一样使用枚举类型

typedef enum _Test{ TestA = 0, TestB, TestC, TestD} Test;

定义"别名"后,便可采用如下方式定义枚举变量

Test test = TestB;

针对匿名枚举,在通过typedef设置"别名"便变成如下形式

typedef enum{ TestA = 0, TestB, TestC, TestD} Test;

定义"别名"后,便可采用如下方式定义枚举变量

Test test = TestB;

OC语言中的枚举

在Objective-C语言中,Apple在iOS6中引入了两个宏来重新定义枚举类型(即:NS_ENUM与NS_OPTIONS),这两者在本质上并没有差别,都是用于定义枚举类型,但是在使用中NS_ENUM多用于一般枚举,而NS_OPTIONS则多用于带有移位运算的枚举

NS_ENUM使用示例

typedef NS_ENUM(NSInteger, Test){ TestA = 0, TestB, TestC, TestD};

NS_OPTIONS使用示例

typedef NS_OPTIONS(NSUInteger, Test) { TestA = 1 0, TestB = 1 1, TestC = 1 2, TestD = 1 3};

typedef NS_OPTIONS(NSUInteger, Test) { TestNone = 0, TestA = 1 0, TestB = 1 1, TestC = 1 2, TestD = 1 3};

带有移位运算的枚举多用于同一个枚举变量可以同时赋值多个枚举成员的情况,其原理就是将各个枚举值按位或(|),因为移位运算的枚举成员可以保证按位或(|)计算之后结果的唯一性,所以每种结果都能反向计算出是由哪几个枚举成员按位或(|)而成

以"使用按位或(|)为枚举变量test同时赋值枚举成员TestA、TestB与TestC"为例

Test test = TestA | TestB;test |= TestC;

以"使用按位异或(^)为枚举变量test去掉一个枚举成员TestC"为例

Test test = TestA | TestB | TestC;test ^= TestC;

注: 如果枚举变量test本身并未赋值TestC,那么使用按位异或(^)会为枚举变量test多赋值一个枚举成员TestC

以"使用按位与()判断枚举变量test是否赋值了枚举成员TestA"为例

Test test = TestA | TestB;if (test TestA){ NSLog(@"yes");}else{ NSLog(@"no");}

总结

以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

初学iOS 开发,读什么书好

第一步,精读 Stephen G. Kochan 的《Objective-C程序设计》:Objective-C语言基础,iOS开发的第一技能就是精通Objective-C;

第二步,有了语言基础,精读 David Mark 的《精通iOS开发》:通过各种单独的项目,熟悉iOS SDK,XCode开发环境,明白MVC、委托等设计模式,通读完后,你就对iOS SDK有了比较全面的认识,各种框架和组件有了一定的认识;

第三步,选择性阅读了Matt Neubury 的《iOS程序设计》:本书是iOS最系统的教程,对iOS框架的底层有比较详细的介绍,深刻了我对iOS的理解。如果你是一名不仅仅想使用iOS SDK开发,还想理解底层是怎么运行实现的,那就阅读它。如果没看David Mark的《精通iOS开发》直接阅读这本教程会非常的吃力和枯燥无味,所以我建议在学习的过程中,把它作为资料库来查询,遇到想深入学习的某一方面,就选择性阅读本书的一些章节;

第四步,有了上面的一些知识,研究一些github上的优秀的项目或者从cocoaChina上找些感兴趣的代码推荐内容并且阅读源码,最好还可以在自己的DIY项目中使用上它们。还可以阅读Bear Cahill 的《iOS in Practice》:通过9个上架的应用,加深对iOS SDK的认识和理解;

第五步,到这时候,就会遇到瓶颈,希望更上一层楼。我自己的做法是通过看公开课或者网上的开发视频,不是让你重新学习,因为身边没人带,所以这么做让你看到别人是怎么编码,别人的编程思路是什么,并且能将你前段时间学习的内容进一步巩固。

第六步,接下来当然是iOS进阶了。可以开始阅读David Mark的另一本畅销书《iOS6开发进阶与实战》,主要深入讲解了Core data,map Kit,Game Kit,iCloud,iOS安全等。

第七步,在第5和第6步的过程中,可以一点一点阅读Matt Galloway 的《Effective Objective-C 2.0》:介绍52个编写高质量IOS与OS X代码的方法;

iOS6系统增加了的功能有什么特点?

您好,iOS6系统增加了很多中国定制功能,内容如下:1、改善了拼音输入法,现在只需要几个首字母即可联想出词组或句子。2、加入了百度搜素,您可以在“设置-“Safari”中,将搜索引擎改为百度,然后返回主屏幕,打开“Safari”应用程序,可以在界面右上角搜索框输入您想查询的关键字,确认后即可自动进入百度页面进行关键字的搜索。3、加入了全新的地图功能,不再使用Google地图,而使用苹果自身开发的地图,更加方便快捷。4、您可以用普通话与Siri交谈。Siri可以帮助您打开应用程序、设置闹钟、发送短信等等。5、加入了新浪微博、优酷视频、土豆视频,您可以分享照片到新浪微博,或上传您拍摄的视频到优酷网或土豆网。

苹果ios6怎么升级

打开itunes并连接iphone【下载】发布会结束后.com开发者中心进行下载更新。

——

2、步骤一,进入apple,这时会自动打开资源管理器,请找到对应固件.ipsw并确定升级。待系统自动完成即可!,正式版iOS6将于2012年秋季上市。

【更新】

——

1,开发者即可登录苹果官网下载到最新的iOS6

beta版固件。步骤三.3并安装。步骤二:下载ios6

对应iphone4s固件.ipsw;按住键盘shift键+点击itunes上的iphone升级按钮!

【注意】Beta版存在QQ闪退、拥有开发者帐号.6:下载最新版本的itunes10

苹果新系统ios6.0国内能用了吗

能用,我都用了4个多月了。

现在最新版的是Ios6

beta4,

今天上午苹果刚发布的。

整体更新了200多项功能,蛮不错的,用了3个多月的IOS6了。

更新步骤如下:

1、下载ios6的固件到你本机.

2、手机通过连接线连接电脑,并打开iTunes

3、按住shift+检查更新,会弹出一个文件选择框

4、选择下载在你本机的iOS

6固件,点击确认。

5、最后耐心等待个几分钟就OK了.

另从Beta1

升级到Beta4直接在手机里面点击更新就可完成,更简单,均不需要开发者帐号.

iOS 开发怎么入门

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:Franz Fang

链接:

来源:知乎

不管是斯坦福大学的CS193p公开课、苹果官方文档、绝大多数市场上庞杂的教学书籍都不是很适合入门同学看,想入门的话应该选用学习成本最低的方法,从最最基本开始讲起,并不是一味的讲解语法与知识,而是一边实践一边学习知识才是最好的学习方法。

并且我想告诉题主,你问的是iOS 开发怎么入门,但是你补充说明里说道的设计模式、内存管理等内容暂时不用你关心,等你真正iOS入门了以后在研究吧。也许我可以这么定义你的问题:

一个略懂编程的人并且完全没有接触过IOS开发的人想要学习IOS开发应如何学习?

--------------- 2015.5.15 更新 --------------

增加了怎么在Github上找优质OC项目

动画效果推荐的教程

部分段落重新组织了语言

(一)objective-c语言开发iOS应用

为什么不让初学者看斯坦福教程:我以为,斯坦福大学IOS公开课不适合入门的同学看,里面第一课讲解的就是MVC模式。对于一个刚入门想要学习的IOS的同学可能就完全懵了,心里想:“我特么第一课都听不懂我后面还学个P啊”。如果以前没接触过面向对象的语言学习的热情肯定大打折扣。

为什么不让初学者看苹果官方文档:我还以为,苹果官方文档的内容虽然权威但example对初学者一点都不友好,而且个人认为中文译文翻译不是令初学者很容易理解。初学阶段,教程的易理解程度我认为是非常重要的一点。(实在要看请看英文原版。)

我不否认以上两者是极好的学习材料,如果你入门了iOS开发并且有一定的英文功底,我是非常推荐你去看的,尤其官方文档,应该经常翻阅。但是我认为保持学习的热情是最重要的。本着这个理念,我推荐的学习方法难度非常低,希望你们能满意。

第一阶段: RayWenderlich网站中的 The iOS Apprentice教程 (难度指数:※)

img src="" data-rawwidth="646" data-rawheight="560" class="origin_image zh-lightbox-thumb" width="646" data-original=""以上有几个答案提到了这个网站,但看什么教程没有细说,我在这里简单说说。The iOS Apprentice的教程针对完全没有编程经验的人设计。这个教程是外国人写的并且有免费试读版,感兴趣的人要看看。里面说的东西都非常非常基本,里面一个共讲解了4个不同类型app,强烈建议一步一步按照上面所写的步骤敲一遍代码。其中你会遇到很多复杂的语句和长的可怕的函数,你不用感到恐慌,照着敲,知道它干嘛用完全OK了,随着你编程时间以及经验的增加,你都会懂得。以上有几个答案提到了这个网站,但看什么教程没有细说,我在这里简单说说。The iOS Apprentice的教程针对完全没有编程经验的人设计。这个教程是外国人写的并且有免费试读版,感兴趣的人要看看。里面说的东西都非常非常基本,里面一个共讲解了4个不同类型app,强烈建议一步一步按照上面所写的步骤敲一遍代码。其中你会遇到很多复杂的语句和长的可怕的函数,你不用感到恐慌,照着敲,知道它干嘛用完全OK了,随着你编程时间以及经验的增加,你都会懂得。

附链接:

注:这个教程是英文原版,并且收费,只免费提供一个app的教程。如果看完了这个免费的教程觉得还挺想继续学的请参考 @王寒 老师的翻译教程(只有前3个app教程,第4个教程刚出,国内应该还没有人翻译,如果想看只能付费)。PS:(现在开发iOS应用基本都是用Objective-C,至于刚出来的Swift现阶段暂时不推荐学习,如果想了解王寒老师也做了swift版本的The iOS Apprentice教程翻译,自己去找)

附上王寒老师教程下载地址:

第二阶段:培训班的网络课程及入门书籍

经过第一个阶段你应该已经大致掌握IOS开发流程,能编写一个非常简单的应用了。这时候相信你的热情应该会很高涨,但接下来的学习可能会很枯燥,做好准备。网络课程的话推荐李明杰的课程,不推荐其他的。(他目前在广州创业建立自己的培训品牌,没有自制力看网络课程的请去找他。杰哥开源了一些非常优秀的框架如:MJExtension )

建议首先要恶补基础知识。经过第一个阶段你可能觉得你懂不少了,但是只是表面,尤其是没学过编程的应该好好学习一下视频前面的课程,主要看看语法。等你看恶心了看烦了就去看视频里UI部分,这里相对于来说比较轻松,一定要把视频里写的语句打一遍,相信这样你理解会更深刻。里面说的不清楚的地方上网可以百度,可以查书(如果你有书的话)。

Q:视频教程是用来做什么的?

A:光有实践没有知识是写不好程序的,第一阶段基本都是实践,第二部分则是用来查缺补漏。 之所以推荐网络课程是因为讲解的比较系统,各种入门知识都会涉及。因为iOS所涉及内容庞 大单看几本书还是涉及不全的。

Q:上不上培训班?

A:个人意见是不推荐去,自学足够了。现在学习iOS的环境比前几年好太多了,光凭借网上的资料是 完全可以的学得很好的,如果你连这点学习能力还没有我也不相信你将来能成为一个很优秀的工程师。而且你会发现在社会上一些互联网公司是拒绝接收培训班出来的人。

推荐入门书籍:

tips:以下所有书籍有英文版看英文版,有最新版看最新版

1、《Objective-C 程序设计》(难度指数:※※)

2、《iOS 7应用开发入门经典》(难度指数:※※)

3、《iOS开发指南-0基础到AppStore上架》(难度指数:※※※)

4、《iOS编程实战》(难度指数:※※※※)

这里面讲解的很清楚,后面甚至有简单的项目可以练手,这对于看视频教程看恶心的同学是个福音~你可以先做项目遇到不懂的再看视频。

这里我想多说一句,买iOS开发的辅导书千万别买过时太久的,我看以上有答案还推荐iOS4系列丛书呢...拜托现在都什么年代了,现在iOS8教程都要出来了,你iOS6的教程都过时好久了更别提iOS4了...对于新出的swift语言好多人难以选择不知道该学OC好还是Swift好。我个人建议现在学OC,一门新语言的诞生需要经过时间的考验与洗礼。等你学好了OC以后再看也不迟。

第三阶段及以后

到这个阶段你应该拥有了充分的自学能力,已经达到了入门水平。

这时候以下网址将成为你的家常便饭:

Github,StackOverFlow

如果你编程遇到困难,在StackOverFlow上面应该都能找到合适的解答。(前提是你英文不要太差)。Github上好多开源代码足够丰富你的眼界。如果你想成为一个iOS开发者的话这上面两个网站是你经常以及必须会用到的。

Github上怎么搜牛人们的项目:

img src="" data-rawwidth="425" data-rawheight="360" class="origin_image zh-lightbox-thumb" width="425" data-original=""

想学一点UI的同学可以看:

1、iOS by Tutorials

2、design+code 网址:

想学一点动效/交互的同学可以看:

1、下载QuartzComposer及相关插件如Origami,教程: Quartz Composer学习

想学applewatch开发的同学可以看:

1、《watchKit》raywenderlich刚推出这个教程,英文版无译文。

进价书单:

1、《Effective Objective-C 2.0》(必看)

2、《Objective-C高级编程 iOS与OS X多线程和内存管理》

3、《iOS开发进阶》

4、《iOS Auto Layout 开发秘籍》

推荐博客及网站:

1、Github:

2、StackOverFlow:

3、Code4App:

4、cocoachina:

5、objc中国:

进阶博客(排名不分先后..)

1、王巍的博客(我们都叫它喵神,他很萌哒)

链接: (难度指数:※※※※※)

理由:他的swift的新书讲解的非常好,但不适合入门,进阶的话这是很适合的一本书。其他关于OC的内容可以翻看喵神的博客。

2、唐巧哥的技术博客

链接: iOS开发如何提高 (难度指数:※※※※※)

理由:据传说是iOS圈的刘德华。巧哥05年1月会出一本进阶的书,可以关注以下。

3、叶孤城的技术博客 :

链接:叶孤城带你读源码之RESideMenu (难度指数:※※※)

理由:叶孤城童鞋的风格就是讲解细腻,通俗易懂。

4、破船之家:

链接:beyondvincent.com 的页面 (难度指数:※※※)

理由:破船的博客内容很全面,一些开发笔记,技巧他都会教给你。

5、Xcode Dev

链接: Xcode Dev (难度指数:※※※※)

理由:也是一位大神的原创博客,内容很值得学习。

6、txx's 的博客(我们都叫它虾神,他也超萌哒)

链接: txx's blog

理由: 90后非常优秀的iOS开发者,看看他的大学时期的经历才发现我们过的是多么懈怠,大神之所以为大神也是有原因的。

7、Kevin的博客

链接: Kevin Blog

理由:周楷雯是一个非常厉害的90后iOS开发者,他前些年写的项目在Github上拥有2500+star (PNchat?忘了)非常恐怖。

8、念茜姐姐的blog

链接: 新博客: 旧博客:念茜的博客

理由: iOS圈里的女神级人物,她写的iOS安全类的文章非常值得一看。

9、孙源的blog

链接: sunnyxx的技术博客

理由:90后iOS开发者,技术同样非常强,目前似乎在百度知道任职。

等等...iOS圈内值实力很强又懂得分享知识的开发者绝不止以上几位,我随时想到随时再补充。

(二)swift语言开发iOS应用

这里推荐两个入门学习比较好的方法

1、的网站(难度指数:※)

非常浅显易懂的入门级swift教程:

这个网站可以看两方面:

(1)、随时更新的swift tips (有一定水平在看)

(2)、新手主要看以下这本书img src="" data-rawwidth="390" data-rawheight="434" class="content_image" width="390"

2、《Swift Tutorials》 依然是raywenderlich出品,目前只有英文版。(难度指数:※)

3、官方swift译文教程 《The Swift Programming Language》中文版 (难度指数:※※)

4、上文提到的王巍的博客(喵神)《Swifter - 100 个 Swift 必备 tips》(难度指数:※※※※)

喵神的这本书网上就有售卖,请支持正版,绝对是不可多得的进价书籍,此书并非传统意义上的教程,是以tip的方式呈献给大家的。


网站名称:ios6开发进阶与实战,ios6升级
文章网址:http://scyingshan.cn/article/hoicod.html