十二 30

第一章

     Xcode需要运行在基于Intel的Leopard之后的Mac OS之上
     Cocoa Touch使用Objective-C 2.0
     编写iPhone应用程序的特别之处
          只有一个正在运行的程序
          只有一个窗口
          访问受限     沙盒
          有限的响应时间     按下Home后5秒内没完成清理,将被强制退出
          有限的屏幕大小     480*320
          有限的系统资源     内存不足时,应用程序会收到通知。如果不能及时释放内存,可能被强制退出
          缺少Cocoa工具     不支持垃圾收集
          新属性     定位、摄像、图片库和加速计
     本书内容
          2 Interface Builder基础
          3 基础交互
          4 基本控件
          5 方向感应
          6 多视图
          7 工具栏
          8 TableView
          9 分层列表
          10 应用程序设置
          11 数据管理     SQLite
          12 绘图     Quartz和OpenGL ES
          13 多点触摸
          14 Core Location
          15 加速计
          16 摄像头和图片库
          17 I18n

第二章
     Project的目录结构,仅为逻辑结构
          Classes     存放大部分代码
          Other Sources     其他源代码
               .pch     预编译的头文件 precompiled header
               main.m     main函数,通常不需修改
          Resources     非代码文件,图标、图像、音频、视频文本
               .xib     Interface Builder用到的信息
               Info.plist     应用程序相关属性列表
               MainWindow.xib     主Interface Builder文件
          Frameworks     框架和库
          Products     编译生成的应用程序
     Interface Builder
          支持.nib(旧)和.xib(新)两种格式,统称nib或nib文件
     nib文件的构成
          File’s Owner     所有nib文件的第一个图标,表示加载nib文件的对象,控制器类是与之同名的nib文件的Owner
          First Responder     用户当前正在与之交互的对象,随用户与界面的交互而变化
          其他图标表示将在nib文件加载时创建的对象实例
     图标
          png     57*57
          放到Resources文件夹中
          在Info.plist中设置
     仿真器
          删除~/Library/Application Support/iPhone Simulator以清空主屏幕图标

第三章
     MVC模型
          M     Objective-C类
          V     Interface Builder
          C     NSObject,更多的是通用控制器类,如UIViewController
     控制器
          控制器类试用一种特殊的实例变量(输出口,outlet)来引用nib中的对象
          输出口可以看成是指向nib中的对象的指针
          可以通过绑定操作方法,设置nib文件的界面对象触发控制类中的特殊方法
     输出口
          IBOutlet     一个没有内容的宏,唯一作用是告诉Interface Builder此实例变量将被连接到nib中的对象
     操作
          IBAction     告诉Interface Builder,此方法是一个操作,且可以被某控件触发
          - (IBAction)doSomething:(id) sender;
     Outlet与Action的声明
          @property (retain, nonatomic) IBOutlet UILabel *statusText;
          retain 对象在内存中驻留
          nonatomic 无须支持多线程?
          myVar = [someObj foo] 等价于 myVar = someObj.foo
          someObj.foo = myVar 等价于 [someObj setFoo:myVar]
     Outlet与Action的实现
          @synthesize statusText
          [statusText release] in dealloc(),照应retain
     应用程序委托
          每个iPhone应用程序有且仅有一个UIApplication实例,负责应用程序的运行循环以及处理各种应用程序级功能
     连接输出口
          Control+拖动,从File‘s Owner到相应的控件对象
     指定操作
          Touch Up Inside
          拖动,从Event到File‘s Owner
          

Tagged with:
preload preload preload