我即将制作 iPhone 应用程序。 我遇到了一个问题。
NSArray *array2 = [NSArray alloc];
[array2 initWithObjects:@"a",@"b",@"c",@"d",nil];
NSMutableArray *arr3 = [NSArray ArrayWithObjects:@"e",@"f",@"g",nil];
NSUInteger uInt1 = [array2 count];
uInt1 = [arr3 count];
NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:array2];
NSLog(@"count : %d", [mutableArray count]);
这段代码有错吗? 我想我对c语言很熟悉。 但是很难用像这样的c-objective类来处理 NS 家族....
第一次接触iPhone编程..
最佳答案
取决于您要执行的操作,但从句法上讲,它应该更像这样:
NSArray *array1 = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",@"d",nil];
NSMutableArray * array2 = [NSMutableArray arrayWithObjects:@"e",@"f",@"g",nil];
NSUInteger count1 = [array1 count];
NSUInteger count2 = [array2 count];
NSMutableArray * array3 = [[NSMutableArray alloc] initWithArray:array2];
注意事项:
- 虽然从技术上讲,您可以在两个单独的行上执行 alloc,然后执行 NSObject 的初始化,但通常您会像上面的第 1 行那样一起执行它们。
- 第二行使用类方法实例化 NSMutableArray。在幕后(通常),这些类型的方法将执行分配和初始化并返回一个对象。但是在(稍微)更高级的情况下,它们可能会返回 nil,这意味着无法创建对象。例如,您想实例化一个 AVCaptureDevice,但一个不存在。
- 您不能创建一个 NSArray 并将其分配给一个 NSMutableArray,但您可以采用另一种方式——NSMutableArray 是 NSArray 的一个子类。
关于ios - 这段代码是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30727597/