(1/18)重学Standford_iOS7开发_iOS概述_课程笔记

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识。带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现,对于已有的概念有了新的认识。这次课程笔记主要用作归纳知识点,整理学习思路,与大家讨论课后习题,交流等。

第一课:iOS概述

1、iOS分层:①Core OS:核心操作系统层,基于UNIX内核(套接字,文件系统,电源管理,钥匙串,Bonjour等)。API多为C函数,实际应用使用较少。

②Core Servers:核心服务层(数组,字典,字符串,面向对象的文件系统,多线程,GPS,数据库等),使用较多。

③Media:媒体层(视频,图像,音频编辑等),使用较多。

④CocoaTouch:触控应用层(控件如按钮,文本框等,交互动画,本地化,相机,网页浏览视图等),使用较多。

2、开发相关:①工具:Xcode

②语言:objective-C

③框架(framework):Foundation,CoreData,MapKit,UIKit,CoreMotion等

④设计模式:MVC(推荐),其他模式在后续课程中也会使用到,MVC贯穿始终。

3、MVC设计模式:Model,View,Controller:一种将应用中的类组织起来的策略,所有的类将被分入这三块之一。

Model = What yourapplicationis (but not how it is displayed)

Controller = How your Model isPResented to the user (UI logic)

View = Your Controller’s minions

如下图所示:

通信方式:①控制器(controller)直接操作模型(Model),可以直接使用其API

②控制器(controller)直接操作视图(View),通过输出口的方式(outlet),可以直接使用其API。

③模型(Model)与视图(View)之间禁止通信。(模型完全独立于UI)

④视图(View)不能直接与控制器(Controller)通信,而是通过以下间接方式:target-action(如按钮,滑动条等),协议(委托(delegate)or 数据源(dataSource)):protocol(如tableview等)。

⑤模型(Model)不能直接与控制器(Controller)通信,而是通过通知机制(Notification)或者键值观察机制(KVO)来进行通信。

多MVC情况如下图所示:

4、objective-C

①strong&weak:strong:只要有强指针指向对象,就在堆中保持这个对象,当不再有强指针指向对象时(nil),则对象会被释放。

weak:当没有强指针指向对象时(可能还有弱指针指向对象),释放对象。

②nonatomic:非原子性,表示此对象不是线程安全的,若为原子性会在属性的setter和getter方法中加锁,影响性能。

5、源代码

Card.h

1#import<Foundation/Foundation.h>23@interfaceCard : NSObject4@property (strong,nonatomic) NSString *contents;5@property (nonatomic,getter=isChosen) BOOL chosen;6@property (nonatomic,getter=isMacthed) BOOL matched;78- (int)match:(NSArray *)otherCards;9@end

Card.h

Card.m

1#import"Card.h"23@interfaceCard()45@end67@implementationCard89- (int)match:(NSArray *)otherCards10{11intscore =0;1213for(Card *cardinotherCards)14{15if([card.contents isEqualToString:self.contents])16{17score =1;18}19}2021returnscore;22}2324@end

Card.m

6、作业:无

课程视频地址:网易公开课:http://open.163.com/movie/2014/1/M/7/M9H7S9F1H_M9H7TMJM7.html

或者iTunes U搜索standford课程

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航