iOS面试问题大全解读.docx


文档分类:外语学习 | 页数:约129页 举报非法文档有奖
1/129
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/129
文档列表 文档介绍
1: Object-c 有多重继承吗?没有的话有什么替代? 我的回答:没有。用 protocol 代替网上答案: cocoa 中的所有类都是 NSObject 的子类。多继承在这里是用 protocol 委托代理来实现的 2: static 作用? 我的答案:静态声明。声明一个变量或方法为静态。静态变量在类的第一次实例化时,即分配存储空间。静态方法不需要类的实例即可访问。网上答案: (1) 函数体内 static 变量的作用范围为该函数体, 不同于 auto 变量, 该变量的内存只被分配一次,因此此值在下次调用时扔维持上次的值。(2 )在模块内的 static 全局变量可以被模块内所用的函数访问,但不能被模块外其他函数访问(3 )在模块内的 static 函数只可被这一模块内的其他函数调用,这个函数的使用范围被限制在声明它的模块内(4 )在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝(5) 在类中的 static 成员函数属于整个类所拥有, 这个函数不接收 this 指针, 因而只能访问类的 static 成员变量 4: Object-c 的内存管理是如何管理的? 我的答案: 引用计数: 当使用 alloc 创建新实例或赋值 retain 、 copy (或 ARC 中的 strong ) 标识的变量时,实例或变量的引用计数即加一,当它们的引用计数为 0 时,则由 GC 回收网上答案:如果你通过分配和初始化,(比如[[MyClass alloc] init] )的方式类创建对象, 你就拥有这个对象, 需要负责该对象的释放。这个规则在使用 NSObject 的便利方法 new 时也同样适用。如果你拷贝一个对象,你也拥有拷贝得到的对象,需要负责该对象的释放。如果你保持一个对象,你就部分拥有这个对象,需要在不再需要时释放 5: view 中的 frame 和 bounds 有什么不同? 我的答案: view 的 frame 代表的是父类中的 view 的位置。 view 的 bounds 代表的是 view 自己的坐标及长宽网上答案: frame 指的是:该 view 在父 view 坐标系统中的位置和大小。(参照点是父亲的坐标系统) bounds 指的是:该 view 在本身坐标系统中的位置和大小。(参照点是本身坐标系统) 6: 如何在 以上使用 ios3 的代码( 这个问题不太明白具体什么意思, 按我的理解回答了)? 我的答案:在 ARC 项目中使用非 ARC 的代码,需要在编译设置里设置: -fno-objc-arc 7 : 文件***@protocol delegate; ***@required (void)dosomething; ***@end ***@interface DelegateSimple<delegate> ***@end .m 文件#import "" ***@implementation DelegateSimple (void)dosomething { NSLog(@"%@","This is implementation of the protocol"); } ***@end 8 :请用 block 写出一个 Singleton 实例+(Class *)sharedInstance { static Class *__singleton; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ __singleton = [[Class alloc] init]; }); return __singleton; }9 :请写出你常用的多线程调用的方法-(void)downloadStringFromURL { NSURL *url = [NSURL URLWithString:[NSString stringWithFormart:@"%@", ""]]; ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request startAsynchronous]; } #pragma mark - ASIHTTPRequest 异步请求回调方法(void)requestFinished:(ASIHTTPRequest *)request { NSString *responseString = [request responseString]; NSLog(@"%@", responseString); } (void)requestF

iOS面试问题大全解读 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息