苹果创始人乔布斯在1985被董事会赶出苹果公司后,成立了一家NeXT电脑公司,NeXT在1988年推出了第一个工作站电脑产品NeXT computer. 推出了对应的系统NEXTSTEP, 同时objective c(oc) 应运而生,是扩充C的面向对象编程语言.所以oc中有大量ns开头的命名方法和变量.
ios 主流也使用oc进行开发,当然苹果新退出的swift(意在取代oc)也在蓬勃发展中,不过其在中国公司的使用率太低,现在学习oc仍然是不二的选择哦.
学习ios开发本质上就是掌握oc和苹果api的过程, 在此特别提醒纸质书并不需要购买,快速入门可以通过读本系列或者看第三方视频(如:极客学院,威锋)来掌握基础知识.
在开始ios编程前,强烈要求同学先学习面向对象的编程知识!!!!!!(也提醒一下你不需要先学习c语言)
此外,准备一台mac电脑,一个顺手的键盘,我们就可以开始啦.
![](https://img.haomeiwen.com/i1315617/b461c01438bdaae1.png)
1 下载Xcode (注意,每次升级ios后,你的xocde可能就要升级一次了)
![](https://img.haomeiwen.com/i1315617/a8c7bb2343f6e69a.png)
我们将使用这个IDE :集成开发环境(IDE,Integrated Development Environment )开发ios程序
2 新建项目
![](https://img.haomeiwen.com/i1315617/b5cdbe8b47741222.png)
3 选择single view app 点击next,product Name 起一个喜欢的名字,中文也可以.(注意:organization identifier 一般以com.机构名.项目名填写)
4 一路next 后Xcode 就会呈现一个新的编辑项目在你面前了。
![](https://img.haomeiwen.com/i1315617/e17184274f01fa89.png)
各位同学看到这里就会开始懵逼了,这里我来详细解释.oc 源自于c, 故而有头文件.h 和 主文件 .m,他们是一对儿的关系。 .h文件中通常声明对外暴露的方法和变量, .m文件则包含有方法的具体实现和私有变量。
打开Appdelegate 文件后,首先看到的是 #import <UIKit/UIKit.h>
#import 作用为引入其他文件,这样你就能使用引入文件的功能.
<UIKit/UIKit.h> 表示 UIKit 代码包内的UIKit.h文件
合起来就是理解为引入 UIKit 代码包内的UIKit.h文件
![](https://img.haomeiwen.com/i1315617/b4ca85d9ed46f087.png)
你在头部还会发现一段灰色的字符,这段表示为注释,帮助你或者其他开发人员理解你写的代码.
注意:注释有两种方法
// 表示这一行是注释
/**/内包含的内容都是注释,可以跨行
![](https://img.haomeiwen.com/i1315617/a9532581746fd6b0.png)
[@interface ]作为声明类的关键字表示你想声明一个类, 名字叫Appdelegate (有关类是什么,你可以搜索面向对象编程)
[UIResponder] 则是表示Appdelegate 继承了UIResponder (同样是面向对象的知识,所以不知道的还是感觉去学习吧)
[<UIApplicationDelegate>]表示Appdelegate 遵循了UIApplicationDelegate这个协议(后面的章节会详细介绍)
[@property ]表示是一个属性
[strong ]表示是强类型 (后面会具体介绍)
[nonatomic] 表示非原子性,是一种操作模式(后面介绍哟~)
[UIWindow *window] 表示 window为UIWindow 类型的对象, window是你其的名字,叫其他名字也是可以的.
注意到";"了吗? 他表示一段代码的结束,所以一行代码其实可以写多段代码的.
[@end ] 对应@interface 表示这个类声明结束了
看完头文件,我们来看看方法体文件吧
![](https://img.haomeiwen.com/i1315617/c986a3b9ff9df834.png)
@interface AppDelegate ()
@end 内你可以声明私有变量(私有变量也是面向对象的知识)
[@implementation AppDelegate ] 表示你将实现你所声明AppDelegate所需的方法
接下来重点介绍oc 声明方法 分为三段
1 方法名以及接受的参数
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
表示方法接受2个参数 (UIApplication *)application 和 (NSDictionary *)launchOptions
2 方法具体实现
return yes 表示返回布尔类型YES
3 {........}表示里面的都是方法的具体实现
看到这里,又引出新的问题 其中 YES,NSDictionary 又是什么东西呢?
我们进入下一篇"数据类型篇"
网友评论