OC基础知识点
根据给定文件的信息,我们可以总结出以下Objective-C的基础知识点: ###一、数组(Array)的创建与使用#### 1.不可变数组(NSArray)不可变数组在创建后其内容不可更改。创建不可变数组时,需要指定数组中的元素,并使用`nil`来标记数组的结束。 **示例代码:** ```objective-c NSArray *array = [[NSArray alloc] initWithObjects:@"111", p1, p2, @"222", nil]; NSLog(@"%@", array); ```在这个例子中,我们创建了一个不可变数组`array`,并初始化了其中的元素。`initWithObjects:`方法用于初始化数组,`NSLog`则用于输出数组内容。 #### 2.可变数组(NSMutableArray)可变数组允许在程序运行过程中添加、删除或修改数组中的元素。创建可变数组时可以通过指定初始容量来预分配内存,从而提高性能。 **示例代码:** ```objective-c NSMutableArray *array = [NSMutableArray arrayWithCapacity:1]; [array addObject:@"111"]; [array addObject:@"222"]; NSLog(@"%@", array); ```这里展示了如何创建一个初始容量为1的可变数组,并向其中添加两个字符串对象。`addObject:`方法用于向数组尾部添加元素。 ###二、数组操作方法#### 1.插入元素可以使用`insertObject:atIndex:`方法将一个对象插入到数组指定的位置。 **示例代码:** ```objective-c [array insertObject:@"haha" atIndex:9]; ```这段代码将在索引9的位置插入字符串"haha"。 #### 2.移除元素- **移除指定索引处的元素**:`removeObjectAtIndex:` - **移除指定范围内的元素**:`removeObjectsInRange:` - **移除所有元素**:`removeAllObjects:` **示例代码:** ```objective-c [array removeObjectAtIndex:2]; //移除索引为2的元素[array removeObjectsInRange:NSMakeRange(3, 5)]; //移除索引3至7之间的元素[array removeAllObjects]; //清空数组``` #### 3.替换元素使用`replaceObjectAtIndex:withObject:`方法替换数组中的指定元素。 **示例代码:** ```objective-c [array replaceObjectAtIndex:3 withObject:@"123"]; ```这段代码将索引3处的元素替换为字符串"123"。 #### 4.交换元素位置使用`exchangeObjectAtIndex:withObjectAtIndex:`方法交换数组中两个元素的位置。 **示例代码:** ```objective-c [array exchangeObjectAtIndex:7 withObjectAtIndex:array.count - 1]; ```这段代码将索引7处的元素与数组最后一个元素的位置进行交换。 ###三、其他知识点#### 1. `%@`与`description`方法当使用`NSLog`输出对象时,通常使用`%@`格式符,这会调用对象的`description`方法来获取其描述性字符串。 **示例代码:** ```objective-c NSLog(@"%@", array); ``` #### 2. SEL类型与方法选择器`SEL`类型用于表示方法的选择器。通过`@selector()`可以定义一个方法的选择器,例如: **示例代码:** ```objective-c SEL method = @selector(test); ``` #### 3.基本数据类型转对象类型Objective-C中可以通过`NSNumber`类将基本数据类型转换为对象类型,以便在集合中使用。 **示例代码:** ```objective-c NSNumber *n = [NSNumber numberWithInt:2]; ```这段代码将整数2转换为了`NSNumber`对象。 Objective-C中的数组提供了丰富的功能来处理数据集合,包括创建不同类型的数组、对数组进行各种操作等。同时,了解`SEL`类型以及如何使用`NSNumber`进行数据类型转换也是十分重要的。这些基础知识对于学习Objective-C至关重要。
176.7KB
文件大小:
评论区