0
NSMutableArray創建時具有64個容量。一個NSString對象被添加。但是,該對象的字符串值爲零。NSMutableArray無法添加靜態NSString,拋出異常
static NSString* cake = @"cake";
...
NSMutableArray* food = [NSMutableArray arrayWithCapacity:64];
[food addObject:[NSString stringWithString:cake]];
NSString* dessert = [[food objectAtIndex:0]stringValue];
// dessert is nil
如果[NSString stringWithString: cake]
被替換爲剛剛cake
,它拋出異常
下面是一個整個程序,它是代碼小於10行並不起作用
#import <Foundation/Foundation.h>
static NSString* cake = @"cake";
int main(int argc, const char * argv[]){
@autoreleasepool {
NSMutableArray* food = [NSMutableArray arrayWithCapacity:64];
[food addObject:cake];
NSString* dessert = [[food objectAtIndex:0]stringValue];
}
}
,則拋出例外。
>> [[food objectAtIndex:0] stringValue]; –
可變數組是否爲零?您發佈的代碼版本正常工作。 – CrimsonChris
這裏不要使用stringWithString。這是沒有必要的。 – CrimsonChris