iOS 复习题(3)
面向无连接:是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。邮政系统是一个无连接的模式,天罗地网式的选择路线,天女散花式的传播形式;IP、UDP协议就是一种无连接协议。
6、简述MVC模式中M、V、C分别指代什么及发挥的作用?
MVC开始是存在于Desktop(桌面)程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
视图是用户看到并与之交互的界面,视图没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型表示企业数据和业务规则,模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
7、声明@property的语法中,retain、copy、assign的含义及作用?试写出 @property中带retain和assign关键字,通过@synthesize自动生成的的合成存取方法(set、get方法)的实现代码。
getter分析:
@property (nonatomic, retain) test* aTest;
@property (nonatomic, copy) test* aTest;
等效代码:
-(void)aTest {
return aTest;
}
========== 貌似我是分割线 ===========
@property (retain) test* aTest;
@property (copy) test* aTest;
等效代码:
-(void)aTest
{
[aTest retain];
return [aTest autorelease];
}
setter分析:
@property (nonatomic, retain) test* aTest;
@property (retain) test* aTest;
等效于:
-(void)setaTest:(test *)newaTest {
if (aTest !=newaTest) {
[aTest release];
aTest =[newaTest retain];
}
}
========== 貌似我是分割线 ===========
@property (nonatomic, copy) test* aTest;
@property (copy) test* aTest;
等效于:
-(void)setaTest:(test *)newaTest {
if (aTest !=newaTest) {
[aTest release];
aTest =[newaTest copy];
}
}
8、iOS中有哪些回调机制,并作简单的比较。
各种回调机制的比较:
1、目标动作对(Target-Action):当两个对象之间有比较紧密的关系时,如视图控制器与其下的某个视图。比如UIButton可以使用addTarget:(id) action:(SEL)forControlEvents:(UIControlEvents)来添加目标动作方法。
2、代理(Delegate):也叫委托,当某个对象收到多个事件,并要求同一个对象来处理所有事件时。委托机制依赖于某个协议定义的方法来发送消息。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>