iOS

作者: 清杨程 | 来源:发表于2016-10-24 17:02 被阅读2次

    一、Object-c试题总结:

    1、Object-c的类可以多继承么?可以实现多个接口么?

    答:Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成c++的多重继承。

    2、#import、#include、@class的用法区别?#import<>和#import""的用法区别?

    答:#import 是 object-c 导入头文件的关键字,#include 是c/c++导入头文件的关键字,使用#import关键字头文件会自动导入一次,不回重复导入;@class 关键字则告诉编译器某个类的声明,当执行时,才会查看类的实现文件;#import<>用来包含系统的头文件;#import""一般用来包含用户自定义头文件,也可以包含系统头文件。

    3、属性readwrite、readonly、assign、retain、copy、nonatomic是什么作用?

    答:readwrite 是可读可写特性,需要生成getter和setter方法。readonly 是读特性,只会生成getter方法,不会生成setter方法,属性不会在类以外改变。assign 是赋值特性,直接赋值,没有retain,setter方法传入参数赋值给实体变量;仅设置变量时,非对象操作;retain 表示持有特性,setter方法将传入参数先保留、再赋值传入参数的retaincount会+1;copy表示赋值特性,setter方法传入对象复制一份;nonatomic 非原子操作,决定编译器生成的setter、getter 是否 是原子操作,atomic表示多线程安全,一般使用nonatomic(默认)性能更高。strong:强引用,用在ARC下,代替retain。

    4、常见的object-c的数据类型有哪些,和c的基本数据类型有哪些区别?

    答:object-c的数据类型有NSArray、NSString、NSNumber、NSData、NSDictionary、NSSet等,这些都是类创建后便是对象。c语言的基本数据类型int,只是一定字节的内存、用于存放数值;object-c的数据类型都包含父类方法以及自己的方法,可以完成一定的操作。

    5、id声明的对象有什么特征?

    答:id声明的对象具有运行时的特征,即可以指向任意类型object-c的对象。

    相关文章

      网友评论

          本文标题:iOS

          本文链接:https://www.haomeiwen.com/subject/qbyluttx.html