Stanford iOS7 Lesson One

斯坦福的iOS7公开课,在网易公开课上学习这门课,一共18集,希望每天我能在这里记录下我的学习步伐,记录学习心得。

如有不当之处。请指点我这个小渣渣。

/* 这是一段注释 好久没写了,又回顾一遍,写写心得体会。*/

How to build cool apps

第一节课由白胡子老头讲解如何构建一个应用
讲解斯坦福学习这们课程的一些必要条件,(不得不佩服国外的学校,学习开发的需要一些基础课程,反观我天朝,培训机构,学校,任何人都可以从零学习开发)这是好是坏呢
每周还有作业 。。通过概念将例子,学生们都是通过概念来做,我们学会的只是如何百度。。。。
好 了, 废话不多说。Let's GO!
不过不论名牌大学还是野鸡学校,老师只是引路人,剩下的还是要多多的靠自己。
虽然有中英文字幕,但有些概念还是要注意下英文字幕

1.what is in ios?

iOS中有什么,简而言之,iOS系统由什么组成,有什么样的组织架构?

何为框架 framework?
框架是一个目录,里边包含.h文件和资源文件构成了framework,framework即是动态库也是静态库,在iOS中,系统的framework是动态库,自己创建的是静态库,有关静态库和动态库,可以看我其它文章详解。每个框架对应iOS系统的每一层,每层建立在它下层的上面,尽量使用上层框架代替下层框架,更高层次的框架是对底层框架对象的抽象。


Cocoa Touch 触控应用层 也是UI层 , 如UIKit对应这个层,是开发者接触最多的一个层。Cocoa touch 是 Cocoa的触控版本

Cocoa Touch

Media 媒体层 一些影音高级自定义处理 应用这个层比较多。

Media

Core Serivce 核心操作系统层

Core Services

Core OS 接近硬件,基于BSD 的Unix系统 ,大多数API 都是用c写的

Core OS

2. Platform Components 基础知识

  • Tools xcode5(现在我的用版本是7.2)
  • Language Objective-c
  • Frameworks Foundation UIKit CoreData CoreMotion MapKit

3. Design Strategies 设计模式 MVC设计模式

设计模式简单说,就是将工程中所用到的类合理组织与使用的策略;
合理分配归纳到下边这三个模块中
M model 视图所需要的数据,e.g label上的文字

V View 构建视图的类,e.g button, switch ,label...

C Controller 连接视图与模型的类,二者的媒介,e.g c将label需要的数据从m取出来,填充到label上,将label显示出来;

MVC三者如何通信?

view和model 严禁相互通信,必须相互独立。
模型完全独立于UI,不能同视图这一块中的对象进行沟通


控制器到视图的通信方式 ,控制器完全知道视图的行为,将视图作为控制器的一个属性 e.g outlet

//声明了button的输出口,可以设置它指向xib中任何的Button,通过button可以知道所有的相关属性和行为;
@property  (nonatomic,retain)    IBOutlet UIButton    *button;

视图到控制器通信方式

  • 目标动作机制 taget-action 这是一种 “盲”的方式,视图是通用的,出发视图的行为来通知控制器;控制器本身有一个目标方法(target),然后将这个目标给视图的行为方法(action),当视图中触发这个行为时,视图会发送消息给控制器的目标告诉控制器有人对他进行了操作。比如按钮的点击事件、滑动条的滑动事件。e.g 点击按钮 通知控制器来执行一些事情,如页面跳转和网络请求,刷新UI等;

*委托机制 delegate 将一些视图不能自己处理完成的事情委托交给控制器来处理,因为控制器说全局的掌控者,e.g 滚动视图问控制器,我可以滚动吗?should 是否可以滚动, will 将要,did 已经 等,这一些状态由控制器告诉滚动视图;视图本身回答不了这些问题, 把这些问题交给其他对象,不知道这个对象,只知道这个对象可以回答这些问题;

*数据源机制 data source 视图让控制器给它将要显示的数据,有待深入研究!
视图不该持有它的数据,数据源应该在模型中,与UI无关~


.模型到控制器的通信方式

  • KVO 键值观擦
    与通知一样,在控制器中注册成为观察者,实现回调方法,在模型发生改变的时候可以通过激活回调方法让控制器做出一些动作。
  • Notification 通知

模型数据改变了,广播信息,控制器接受,,类似于电台

现在的我已经在做iOS开发2个月了,还属于提升阶段。今天的第一课,白胡子老头讲了一些基本的语法,比如属性的使用,定义方法,等。

//一般来说,控制器中会注册成为监听者
- (void)addObserver:(id)observer selector:(SEL)aSelector name:

//当模型中的值发生改变时,模型会发出通知
- (void)postNotification:(NSNotification *)notification;

- (void)postNotificationName:(NSString *)aName object:(id)anObject;


一些零散的知识

.h public API
.m private API 以及所有实现

内存管理
属性的修饰符,相当于一些代码的开关,
不一样的修饰符,属性的getter和setter方法的内容也不一样;
strong 和 weak
我对内存的一些见解 举个例子🌰

@property (nonatomic,strong) NSObject *obj;

// like as
obj = [[NSObject alloc] init];

//obj 是一个指针, 它 指着 [[NSObject alloc] init]分配的这块对象; 这个对象, 一般我们说obj是一个对象, 这个说法并不完全准确。 希望大家搞清楚对象 与指针 obj 这个指针是在内存空间中栈内存在的, 它的值存着堆内对象的地址 [[NSObject alloc] init]; 也就是这个。

这个是 __ obj __ 是一个指针,被strong修饰, 只要有被strong修饰的指针指着这个对象, 这个对象的引用计数就不会为0,也就不会被释放。 stong是可以修改引用计数的一个关键词。

weak 被这个修饰词所修饰,当对象没有强引用时,释放内存并会自动置为nil;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,302评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,563评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,433评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,628评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,467评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,354评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,777评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,419评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,725评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,768评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,543评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,387评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,794评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,032评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,305评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,741评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,946评论 2 336

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,108评论 29 470
  • 作为人(原创) 谋事于一时,谋人于一世,谋天于一心,谋道于一身。此话是我讲的,却是因着别情有所感慨,就偏得讲一讲,...
    秋色文学烈火的轻云阅读 172评论 0 0
  • 综 述 作为近几年新兴的概念,养老地产在全国遍地开花,但庞大的投资额、超长的投资回收期,让习惯了高杠杆、赚快钱的地...
    养老运营阅读 247评论 0 1