1.Object-c 的类可以多重继承么?可以实现多个接口么?Category 是什 么?重写一个类的方式用继承好还是分类好?为什么?
Object-c 的类不可以多重继承;可以实现多个接口,通过实现多个接口 可以完成 C++的多重继承;Category 是类别,一般情况用分类好,用 Category 去重写类的方法,仅对本 Category 有效,不会影响到其他 类与原有类的关系。
2.#import 跟 #include 有 什 么 区 别 , @class 呢 , #import<> 跟 #import””有什么区别?
#import 是 Objective-C 导入头文件的关键字,#include 是 C/C++导入 头文件的关键字,使用#import 头文件会自动只导入一次,不会重复导 入,相当于#include 和#pragma once;@class 告诉编译器某个类的声明, 当执行时,才去查看类的实现文件,可以解决头文件的相互包 含;#import<>用来包含系统的头文件,#import””用来包含用户头文 件。
3.属性 readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
(1) readwrite 是可读可写特性;需要生成 getter 方法和 setter 方法时
(2) readonly 是只读特性 只会生成 getter 方法 不会生成 setter 方 法 ;不希望属性在类外改变
(3) assign 是赋值特性,setter 方法将传入参数赋值给实例变量;仅设 置变量时;
(4) retain 表示持有特性,setter 方法将传入参数先保留,再赋值, 传入参数的 retaincount 会+1;
(5) c

这篇博客主要探讨了Objective-C的面试核心问题,包括类的继承、接口实现、Category的使用、内存管理、属性特性和线程管理等。此外,还讲解了浅复制和深复制的区别以及类别与继承的不同。提供了Objective-C编程中常见的面试题,帮助读者深入理解该语言的关键概念。
最低0.47元/天 解锁文章
2064

被折叠的 条评论
为什么被折叠?



