IOS开发---OC语言-㉝NSArray数组

来源:互联网 发布:java paint方法 编辑:程序博客网 时间:2024/09/21 09:04
/* 文件名:Person.h */#import <Foundation/Foundation.h>@interface Person : NSObject@end
/* 文件名:Person.m */#import "Person.h"@implementation Person@end
//  main.m//  NSArray#import <Foundation/Foundation.h>#import "Person.h"/* NSArray :不可变数组  NSMutableArray : 可变数组 */int main(){    // @[] 只创建不可变数组NSArray    /* 错误写法    NSMutableArray *array = @[@"jack", @"rose"];        [array addObject:@"jim"];    */            //NSArray *array = @[@"jack", @"rose"];        return 0;}// 可变数组的基本使用void use3(){    NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];        // 添加元素    [array addObject:[[Person alloc] init]];        [array addObject:@"jack"];        // 删除元素    //[array removeAllObjects];    // 删除指定的对象    // [array removeObject:@"jack"];    [array removeObjectAtIndex:0];        // 错误写法    // [array addObject:nil];            NSLog(@"%@", array);        NSLog(@"%ld", array.count);}// 遍历数组void use2(){    Person *p = [[Person alloc] init];        NSArray *array = @[p, @"rose", @"jack"];        //    for (int i = 0; i<array.count; i++)    //    {    //        NSLog(@"%@", array[i]);    //    }        // id obj代表着数组中的每一个元素    //int i = 0;    //    for (id obj in array)    //    {    //        // 找出obj元素在数组中的位置    //        NSUInteger i = [array indexOfObject:obj];    //    //        NSLog(@"%ld - %@", i, obj);    //        //i++;    //    //        if (i==1)    //        {    //            break;    //        }    //    }        [array enumerateObjectsUsingBlock:          // 每遍历到一个元素,就会调用一次block     // 并且当前元素和索引位置当做参数传给block     ^(id obj, NSUInteger idx, BOOL *stop)     {         NSLog(@"%ld - %@", idx, obj);                           if (idx == 0)         {             // 停止遍历             *stop = YES;         }              }];            //    void ^(myblock)(id, NSUInteger, BOOL *) = ^(id obj, NSUInteger idx, BOOL *stop)    //    {    //        NSLog(@"%ld - %@", idx, obj);    //    //    //        if (idx == 0)    //        {    //            // 停止遍历    //            *stop = YES;    //        }    //    };    //    //    for (int i = 0; i<array.count; i++)    //    {    //        // 用来标记是否需要停止遍历    //        BOOL isStop = NO;    //    //        // 取出元素    //        id obj = array[i];    //            //        myblock(obj, i, &isStop);    //            //            //        if (isStop)    //        {    //            break;    //        }    //    }}void use(){    /*     int a = 5;          int ages[10] = {1, 90, 89, 17};          Person *p = [[Person alloc] init];     Person *persons[5] = {p,  [[Person alloc] init]};     */        // OC数组不能存放nil值    // OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等        // 这个array永远是空数组    // NSArray *array = [NSArray array];            /*     1.NSArray的创建     */    NSArray *array2 = [NSArray arrayWithObject:@"jack"];        // nil是数组元素结束的标记    NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];    // [array2 count];        //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil];        // 快速创建一个NSArray对象    NSArray *array4 = @[@"jack", @"rose", @"4324324"];            /*     2.NSArray的元素个数     */    NSLog(@"%ld", array3.count);            /*     3.NSArray中元素的访问     */    NSLog(@"%@", [array3 objectAtIndex:1]);        //array3[1];    NSLog(@"%@", array3[0]);}



0 0
原创粉丝点击