id是任意对象类型int是整型,属于基本类型所以不是id因为int不是id,所以就通过转换的方式将int转换为id类型例如可以通过NSNumber封装成一个对象。
1、Key-valuecoding机制允许通过变量名设置和获取变量值。
[myObjectsetValue:valueObjectforKey:@"myKey"];
[myObjectvalueForKey:@"myKey"];
KVC只能处理对象,不能处理int、float等类型;
2、Key-valueobserving将变量与某个控件绑定,当变量变化时,将通知控件进行相应改变。
iPhone开机的时候会有一个白苹果的标志,在屏幕最中间。周围全部为黑色。论坛里面所说的白苹果就是开机以后不能进入系统,一直持续保持白苹果这个界面。说白了,就是手机无法正常使用了。
iPhoneOS应用程序的基础CocoaTouch框架重用了许多Mac系统的成熟模式,但是它更多地专注于触摸的接口和优化。UIKit为您提供了在iPhoneOS上实现图形,事件驱动程序的基本工具,其建立在和MacOSX中一样的Foundation框架上,包括文件处理,网络,字符串操作等。
CocoaTouch具有和iPhone用户接口一致的特殊设计。有了UIKit,您可以使用iPhoneOS上的独特的图形接口控件,按钮,以及全屏视图的功能,您还可以使用加速仪和多点触摸手势来控制您的应用。
各色俱全的框架除了UIKit外,CocoaTouch包含了创建世界一流iPhone应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问API以控制摄像头,或通过GPS获知当前位置。CocoaTouch既包含只需要几行代码就可以完成全部任务的强大的Objective-C框架,也在需要时提供基础的C语言API来直接访问系统。这些框架包括:
CoreAnimation:通过CoreAnimation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
CoreAudio:CoreAudio是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
CoreData:提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。
功能列表:框架分类
下面是CocoaTouch中一小部分可用的框架:
音频和视频:CoreAudio、OpenAL、MediaLibrary、AVFoundation
数据管理:CoreData、SQLite
图形和动画:CoreAnimation、OpenGLES、Quartz2D
网络/li>:Bonjour、WebKit、BSDSockets
用户应用:AddressBook、CoreLocation、MapKit、StoreKit
类工厂方法的实现是为了向客户提供方便,它们将分配和初始化合在一个步骤中,返回被创建的对象,并进行自动释放处理。这些方法的形式是+(typE.classNamE.(其中className不包括任何前缀)。工厂方法可能不仅仅为了方便使用。它们不但可以将分配和初始化合在一起,还可以为初始化过程提供对象的分配信息。
类工厂方法的另一个目的是使类(比如NSWorkspacE.提供单件实例。虽然init...方法可以确认一个类在每次程序运行过程只存在一个实例,但它需要首先分配一个“生的”实例,然后还必须释放该实例。工厂方法则可以避免为可能没有用的对象盲目分配内存。
支持,可以用于检测异常,跟java的的try-catch的区别是多了个@.
通信在主线程中直接请求,服务器返回迟缓可导致程序卡死一直等待服务器回传数据,可以称之为同步。如果启动线程或将请求放入线程或线程队列,则不影响主线程运行,可称为异步。
目标是动作消息的接收者。一个控件,或者更为常见的是它的单元,以插座变量(参见"插座变量"部分)的形式保有其动作消息的目标。
动作是控件发送给目标的消息,或者从目标的角度看,它是目标为了响应动作而实现的方法。程序需要某些机制来进行事件和指令的翻译。这个机制就是目标-动作机制。
解锁,这里主要讲的是软件,也就是说只靠软件的方式实现解除iphone的运营商限制,不限于使用模拟的方法。比如iphone2G所使用的软解方案,就是直接修改了基带的内容。