iOS基础面试题
yezibao晨木木
这个作者很懒,什么都没留下…
展开
-
写一个委托的interface
#import@protocol MyDelegate;//声明@interface MyClass:NSobject{iddelegate;}@end@protocol MyDelegate//委托方法-(void)didJobs:(NsArray*)args;@end原创 2013-10-11 08:41:35 · 2932 阅读 · 0 评论 -
对MVC模式的理解
MVC是一种设计模式,考虑三种对象:模型对象、视图对象和控制器对象。模型对象负责应用程序的数据和定义操作数据的逻辑;视图对象知道如何显示应用程序的模型数据;控制器对象是M与V之间的协调者。实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。原创 2013-10-11 08:41:40 · 817 阅读 · 0 评论 -
#import跟#include的区别?
预编译指令Objective-C:#import C,C++:#include#import由gcc编译器支持在Objective-C中,#import被当成#include指令的改良版本使用。除此之外,#import确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。使用哪一个还是由你来决定。一般来说,导入objective-c头文件的时候使用#import,包含C头文件时使用#原创 2013-10-11 08:41:42 · 950 阅读 · 0 评论 -
obj-c有私有方法么?私有变量呢
在Objective-C有私有方法,有静态方法和实例方法,也有私有变量。@interface MyClass (Private)-(void)testPrivate;@endobjective-c类里面的方法只有两种,静态方法和实例方法。这似乎就不是完整的面向对象了,按照OC的原则就是一个对象只有暴露有用的东西,如果没有了私有方法的话,对于一些小范围的代码重用就不那么顺手了,在类里声名一原创 2013-10-11 08:41:38 · 3258 阅读 · 0 评论 -
为什么很多内置类如UITableViewCon…
答:会引起循环引用。这里delegate我们只是想得到实现了它delegate方法的对象,然后拿到这个对象的指针就可以了,我们不期望去改变它或者做别的什么操作,所以我们只要用assign拿到它的指针就可以了。 而用retain的话,计数器加1。我们有可能在别的地方期望释放掉delegate这个对象,然后通过一些判断比如说它是否已经被释放,做一些操作。但是实际上它retain原创 2013-10-11 08:42:23 · 756 阅读 · 0 评论 -
对象是在什么时候被release的?
对象是引用计数为0时被release的.autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autoreleasepool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop,系统会隐式创建一个Autoreleasepool,这样所有的releasepo原创 2013-10-11 08:42:25 · 1272 阅读 · 0 评论