1.网络
2.多线程
3.各种图形
4.动画
5.面向对象的数据库
Preconditions:
1.CS106 A和B 或CS106X
2.CS107或CS108更好
3.CS110就更好了
熟悉面向对象编程
消息 实例变量 父类和子类
IOS7是完全面向对象的 其整个结构和设计都是面向对象的
每周一个作业 期末一个项目
希望同学们有更多的编程经验
IOS中有些什么?
Core OS、 Core Service、Media、Cocoa Touch(应用层:包括按钮和开关)
BSD Unix (套接字、文件、权限还有一些特别用于移动设备的东西例如:电源管理、用于安全管理的钥匙串访问 Bonjour这是种网络)
数组 字典 字符串 讯号GPS 多线程操作
视频 视频编辑 3D效果
按钮 滑动条 文本框 淡出淡入 地图包 将一整个网页放入i的APP中 MAC OS X
Cocoa 、 MAC OS X
从开发视角怎么看他们
Tools
Xcode 5 (MAC APP Store)
Laguage
Object-C
Frameworks
数十个
Foundation框架,所有核心服务都在这里(数字、字典)
UIKit(按钮 互动条这些东西就在这里)
Core Data(这是面向对象数据库)
Core Motion (这是陀螺仪和加速计)
Map Kit (地图)
Design Structure
MVC(模型、试图、控制器)
模型是独立于UI的
指派匹配游戏
在屏幕上给出一些纸牌
电台的概念来理解 控制器需要知道模型的变化,模型会使用这一概念来广播信息给任何感兴趣的人,IOS中执行这一功能的叫做通知。然后控制器会接收来自电台的信息。当控制器发现模型变化时,它会同模型通信,让模型把变化了的殊绝给它。
多MVC,通过日历来展现。年视图、月视图、日视图
C能做的事情 Objective-C中都能做
Objective-C中每一个类都有一个头文件Card.h
NSObject可以说是IOS中所有类的根类
@import Foundation; //需要导入父类,否则Objective-C编译器就不知道你的父类是什么,这里将能使用Foundation里边所有的公共类
@interface Card : NSObject
@property (strong) NSString *contents;
@property (strong,nonatomic) NSString *contents;
@end
Objective-C中每一个类都有一个实现文件Card.m
#import “Card.h”
@interface Card()
@end
@implementation Card
@end
Card.h是公共API
Card.m是私有API以及你所有的实现
nil指针
setter
getter