我有以下代码,并且遇到了一些问题。任何帮助,将不胜感激。当我运行代码时,出现错误:
2010-11-11 12:28:15.352 addressBook[25563:a0f] *** __NSAutoreleaseNoPool(): Object 0x100111010 of class NSCFArray autoreleased with no pool in place - just leaking
我尝试添加一个自动释放池,但它给了我更严重的错误(完全停止了程序运行),但也许我做错了?
此外,由于某种原因,在提示输入姓名后,它会在我有机会输入任何内容之前立即提示输入地址。但它只在我添加的第一个联系人时这样做。我不知道这怎么会发生..
how many address would you like to input?
Running…
3
2010-11-11 12:28:15.352 addressBook[25563:a0f] *** __NSAutoreleaseNoPool(): Object 0x100111010 of class NSCFArray autoreleased with no pool in place - just leaking
Please input the name of contact
Please input the address of contact
john doe
Please input the birthday of contact
500 E. Main
以此类推,以此类推。
printf("how many address would you like to input?\n");
int numAddresses;
scanf("%i", &numAddresses);
if(numAddresses<1) return 0;
NSMutableArray * arrayOfBooks = [NSMutableArray array];
for (int i = 0; i < numAddresses; ++i) {
book * f = [[book alloc] init];
[arrayOfBooks addObject:f];
[f release];
}
unsigned count = [arrayOfBooks count];
while (count--) {
id object = [arrayOfBooks objectAtIndex:count];
printf("Please input the name of contact\n");
char inputString1[50];
if(fgets(inputString1, sizeof inputString1, stdin)){
[object setName: inputString1];
}
printf("Please input the address of contact\n");
char inputString2[50];
fgets(inputString2, sizeof inputString2, stdin);
[object setAddress: inputString2];
printf("Please input the birthday of contact \n");
char inputString3[50];
fgets(inputString3, sizeof inputString3, stdin);
[object setBirthday: inputString3];
printf("Please input the phone number of contact \n");
char inputString4[50];
fgets(inputString4, sizeof inputString4, stdin);
[object setPhoneNumber: inputString4];
[object print];
}
return 0;
提前致谢。