重要注意

紫色解释

蓝色分类

新内容


CS193P 本课老版本 2010 年冬 http://open.163.com/movie/2010/6/C/7/M6RU83DCT_M6RU957C7.html

                                    iOS5  http://v.163.com/special/opencourse/ipadandiphoneapplication.html

CS06A(java)

编程方法学

CS106B

抽象编程(C++,内存)

CS106X

CS107

编程范式(C,C++,python)

CS108

CS110

开始学术语

看完这集再决定看不看前面的课程

决定直接看下去,不懂的再查 因为还好听的懂噻

2015版   https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099

http://itunes.stanford.edu/   可以在iTunes上面看到所有的斯坦福课程

好之上面有iOS9  http://www.howzhi.com/course/11377/lesson/72730


术语

消息 message

实例变量 instance variable

父类 superclass

子类 subclass


what’s  in iOS?

1  Core OS 核心操作系统层 close to the hardware

Unix Kernel,BSD-based mock(基于 BSD 的 Unix 版本), Unix 有的 它都有,sockets(嵌套字),file system ,permissions + power management ,key chain access to kind of manage the security of things(安全管理的钥匙串访问), Bonjour .

2  Core services  an object-orented on the top of 1

Arrays dictionaries strings, objected - oriented ways to access the file system, objected - oriented ways to find out the GPS, multithreading  .

3  Media

video/video editing    image  audio/3D audio

4  Cocoa Touch     UI Layer

Buliding buttons , sliders , textfields, interact, animation happening, things sliding in and out, fading out and in, get pics from camera from the user, localization, map kit,

high - level objects


Tools  Xcode 5  Instruments

一.Language

二.Frameworks    Foundation  UiKit ,Core data, Core motion ,Map Kit

三.Design strategies   MVC(Model View Controller)

1.MVC:  is essentially a strategy for how to organise all the classes in your app. Camps。

Model-> what (independent of UI)

Controller-> how the model is presented on screen (hTake the model data and put it in, and using it to view minions, put on screen)

View-> UI

Controller Model View

13.30~29.52 MVC

2.how they communicate?

View -> Controller

1.target action

2. Will+should+did  delegate protocols

      protocaol

      is a blind way to talk to another object. Blind communication.

View should not own the data they're displaying

(eg, a player, song in the model, surface in the view, way in the controller)

3. data source   count (It's a special delegate)

Model -> Controller

Notification&KVO (Radio broadcast)


An MVC can use another MVC as part of its View.

eg:

Calender (year,month,day)

Tab Bar Controlers


Objective - C

1. Strict superset of C

2. Properties


Card class

Card.h is the public API

Card.m is your private API and all your implementation

Card.h

@interface Card:NSObject

@property [strong,nonatomic] NSString *contens; 

@property [nonatomic, getter=isChosen] BOOL chosen;   

//太帅了,可以更改getter的方法名,自己爽就好

//BOOL 原始数据类型,没有在堆栈中,like int or floate 不需要管理内存,不涉及指针

@property [nonatomic, getter=isMatched] BOOL matched;

// strong mean reference counting (引用计数)

// OC will track every single strong pointer to an object in the heap, as long as at least one strong pointer exists, it going to keep that thing in the heap. 只要有就保留。没有强指针时候,立刻释放内存。

// weak means OC keep it in memory as long as someone else has a strong pointer to it. No strong pointer to it, it gets freed from the memory, and this pointer gets set to nil. 配合强指针,指向内存,没有强指针指向时,释放内存,弱指针为nil。weak不仅释放内存,还会使指针为空。

// nonatomic calling this setter and getter that go along with this property is not thread safe

// @property advantage: balance checking, set a property then updating UI, initialize pointers

// advantage  to use setter & getter:

// all properties  in OC start off 0

-(int)match:(NSArray *)otherCards;  // 0 don't match

//

@end

Card.h

Setter and Getter are created  automatically but you can't see, they are in Card.m  all public.

@interface Card()

@end

@implementation Card

-(int)match:(NSArray *)otherCards{

int score=0;     // all local variables start out 0

for(Card *card in otherCards){

if([Card.contents isEqualToString:self.comtents]){      //  [  ]

score=1;

}

}

// .  dot noattin is only for properties (actually call the setter and setter), other places u will get warning

// self 就是正在这段代码起作用的实例, this instance that this code is operating on.

// == compare two pointers, not contents they pointing

return score;

}

@end


总结

新内容

.m 文件中好像不太一样,但是都是XCode自动生成的,应该只是版本问题,问题不大

新语法  在 @property 里面修饰有strong和weak之分

并且 getter 方法名可以自己重命名哦

然后,我觉得课程笔记最好还是大象上方便,装逼的话发到博客上去吧


1 课务 iOS 概述的更多相关文章

  1. 课务IOS概述_1

    1.网络 2.多线程 3.各种图形 4.动画 5.面向对象的数据库   Preconditions: 1.CS106 A和B 或CS106X 2.CS107或CS108更好 3.CS110就更好了 熟 ...

  2. Oracle Hyperion Planning 11.1 .1:创建与管理应用程序 第1课:Planning概述

    第1课:Planning概述 1.说明 Oracle Enterprise Performance Management system Oracle Enterprise Performance Ma ...

  3. 蜗牛爱课- iOS中plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取功能创建一个test.plist文件-(void)triggerStorage{    NSArray *paths=NSSearchPathForDirect ...

  4. 蜗牛爱课- iOS中定时器NSTimer使用

    调用一次计时器方法: //不重复,只调用一次.timer运行一次就会自动停止运行 self.locationTimer = [NSTimer  target:self selector: @selec ...

  5. 后端码农谈前端(CSS篇)第一课:CSS概述

    一.从扮演浏览器开始 扮演浏览器是Head First图书中很有意义的一个环节.可作者忘记了告诉我们扮演浏览器的台本.我们从这里开始. 上图是webkit内核渲染html和css的流程图.从该图我们可 ...

  6. 后端码农谈前端(HTML篇)第一课:HTML概述

    一.什么是HTML? HTML不是编程语言,是用来描述网页文档(页面结构)的一种标记语言: HTML指超文本标记语言(Hyper Text Markup Language),之所以称为超文本标记语言, ...

  7. 第一课: iOS入门

    xcode几个项目模板的说明: http://blog.csdn.net/chang6520/article/details/7926444 1. single view app: xcode中的st ...

  8. JAVA学习第五十九课 — 网络编程概述

    网络模型 OSI(Open System Interconnection)开放系统互连:參考模型 TCP/IP 网络通讯要素 IP地址 port号 传输协议 网络參考模型 七层OSI模型的基本概念要了 ...

  9. Java Spring-事务管理概述

    2017-11-11 23:05:39 事务(Transaction):是逻辑上一组操作,要么全都成功,要么全都失败. 一.事务的特性 原子性:事务不可分割 一致性:事务执行的前后,数据完整性保持一致 ...

随机推荐

  1. IEEE754浮点数

    前言 Go语言之父Rob Pike大神曾吐槽:不能掌握正则表达式或浮点数就不配当码农! You should not be permitted to write production code if ...

  2. hdu 2586 欧拉序+rmq 求lca

    题意:求树上任意两点的距离 先说下欧拉序 对这颗树来说 欧拉序为 ABDBEGBACFHFCA 那欧拉序有啥用 这里先说第一个作用 求lca 对于一个欧拉序列,我们要求的两个点在欧拉序中的第一个位置之 ...

  3. java 爬虫:开源java爬虫 swing工具 Imgraber

    1实现点: 1.返回给定URL网页内,所有图像url list 2.返回给定URL网页内,自动生成图像文件路径.txt 文件 3.返回给定URL网页内,下载txt文件指定的图片url,并将所有图像保存 ...

  4. python列表操作大全

    Python列表操作大全 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列 ...

  5. Nginx安装与配置文件nginx.conf详解

    引用“http://ixdba.blog.51cto.com/2895551/790611” 1.安装Nginx在安装Nginx之前,需确保系统已经安装了gcc. openssl-devel. pcr ...

  6. Wechat alert

    企业微信号登录--注册企业号或者企业微信 添加子部门 部门添加成员 创建应用 需要接收告警的人员关注企业号 企业号已经被部门成员关注 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员 ...

  7. 异常-No suppression parameter found for notification

    1 详细异常 Command Start is not currently available for execution. 关闭 kafka gateway 无法启动 java.lang.NullP ...

  8. Python 获取环境变量的几种方式

    第一种 import os os.environ.get('key_name') 第二种 import os os.getenv('key_name') 第三种 import os os.getenv ...

  9. IPTables 和 Netfilter 框架

    前言 防火墙是保护服务器的重要工具. Linux中最常用的基本防火墙软件是iptables.iptables通过与Linux内核网络堆栈(networking stack)中的包过滤钩子(packet ...

  10. 【问题】man命令打开的手册上链接怎么展开?

    参考:How to follow links in linux man pages? 前言 在使用man查看命令帮助的时候,有些文字下面会有下划线.给人的感觉是一个链接,但是又打不开.那么到底是不是链 ...