iOS 开发小记 (十)

2016年02月22日 - 元宵节

今日面试,有三个题目让我不太确定:

1,oc的协议和java的接口有何不同?

oc的@protocol 有 @required 和 @optional。

 

2,UIView 和 CALayer有何区别?

a、UIView可以响应事件,CALayer不行;

b、UIView是对显示内容的管理,CALayer是对显示内容的绘制;

c、每个UIView内都有一个CALayer提供内容的绘制和显示,view.frame简单的返回了view.layer.frame。

http://www.cocoachina.com/ios/20150828/13244.html

 

3,oc和c如何混用?

obj-c的编译器处理后缀为m的文件时,可以识别obj-cc的代码,处理mm文件可以识别obj-ccc++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp

 

4,frame 与 bounds 有何不同?

frame指:该view父view坐标系统位置(参照点父亲坐标系统) bounds指:该view本身坐标系统 位置(参照点本身坐标系统)

-(CGRect)frame{
    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);
}
-(CGRect)bounds{
    return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);
}

http://www.cocoachina.com/ios/20140925/9755.html

 

posted on 2016-02-22 23:08  loying  阅读(140)  评论(0编辑  收藏  举报

导航