iOS 面试题 - OC 部分
Objective-C 是一种面向对象的编程语言,用于 iOS 和 macOS 应用程序开发。在 iOS 面试中,Objective-C 部分是非常重要的一部分,本节将对 Objective-C 的一些重要概念和技术进行总结。
多继承和协议
在 Objective-C 中,一个类不能继承多个父类,但是可以实现多个协议。协议是一种定义了某些方法的接口,类可以实现多个协议以提供更多的功能。Category 是一种特殊的类别,用于给一个现有类添加新方法。重写一个类的方式可以用继承或分类,但是这两种方式有所不同。继承可以重写整个类,而分类只能添加新方法。
属性声明和 setter 方法
在 Objective-C 中,属性声明可以使用 retain、copy 或 assign 关键字。retain 用于保留对象的引用计数,copy 用于创建一个不可变副本,assign 用于基本数据类型的属性声明。setter 方法是用于完成属性赋值的方法,例如:
```objective-c
-(void)setName:(NSString*)name
{
if(_name!=name)
{
[_name release];
_name=[name retain];
}
}
-(void)setName:(NSString*)name
{
if(_name!=name)
{
[_name release];
_name=[name copy];
}
}
```
NSMutableArray 和 NSArray
NSMutableArray 和 NSArray 是两个非常常用的数组类。NSMutableArray 是一个可变数组,用于随时更改数组结构的情况。NSArray 是一个不可变数组,用于保存一些不需要修改逻辑的数据。
字符串反串
要实现字符串“ILOVECHINA”反串成“CHINALOVEI”,可以使用以下方法:
```objective-c
NSString *originalString = @"ILOVECHINA";
NSString *reversedString = [[[originalString stringByReversing] componentsSeparatedByString:@""];
```
pch 文件
pch 文件是 precompiled header 的缩写,表示一个预编译头文件。它是一个来自外部框架的头文件列表,Xcode 将编译这些头文件,以减少项目编译时间。通常用到的头文件包括 Foundation.framework、UIKit.framework 等。
Objective-C 是一种强大的编程语言,用于 iOS 和 macOS 应用程序开发。在 iOS 面试中,Objective-C 部分是非常重要的一部分,需要掌握多继承、协议、属性声明、setter 方法、数组类和字符串反串等概念。