Iphone appdelegate中的NSMutableArray-执行错误访问

Iphone appdelegate中的NSMutableArray-执行错误访问,iphone,iphone-sdk-3.0,Iphone,Iphone Sdk 3.0,我试图在appdelegate中使用全局数组作为我正在构建的演示的快速修复。有关的代码 .h文件包含声明 { NSMUTABLEARRY*trnEntered; } @属性(非原子,保留)NSMutableArray*trnEntered .m文件具有以下代码- trnEntered=[[NSMutableArray alloc]init] NSLog(@“%@,[输入计数]);//打印空值。 [trnEntered addObject:@“1”] NSLog(@“%@,[输入计数]);//执行

我试图在appdelegate中使用全局数组作为我正在构建的演示的快速修复。有关的代码

.h文件包含声明

{
NSMUTABLEARRY*trnEntered;
}

@属性(非原子,保留)NSMutableArray*trnEntered

.m文件具有以下代码-

trnEntered=[[NSMutableArray alloc]init]
NSLog(@“%@,[输入计数]);//打印空值。
[trnEntered addObject:@“1”]
NSLog(@“%@,[输入计数]);//执行错误访问。

我不知道我哪里出了问题。看起来很直截了当

提前谢谢你的帮助,

Teja.

第一个NSLog不应打印“null”,您的初始化方式有问题。请尝试此操作

trnEntered = [[NSMutableArray alloc] initWithCapacity:1];

第一个NSLog不应打印“null”,您的初始化方式有问题。请尝试此操作

trnEntered = [[NSMutableArray alloc] initWithCapacity:1];

您的代码似乎有问题:

NSLog(@"%@",[trnEntered count]); // prints null.
[trnEntered addObject:@"1"]; 
NSLog(@"%@",[trnEntered count]); // exec bad access.
对NSLog的两个调用都试图将
NSUInteger
打印为Objective-C对象。这会引起一个问题。您应该使用
NSLog(@“%d”,[trentered count])

我建议你多读一些,里面有很多有用的信息


还有一点信息:第二个
NSlog
正在试图打印代码声称位于内存位置0x00000001的NSObject的
说明。

您的代码似乎有问题:

NSLog(@"%@",[trnEntered count]); // prints null.
[trnEntered addObject:@"1"]; 
NSLog(@"%@",[trnEntered count]); // exec bad access.
trnEntered = [[NSMutableArray alloc] init];
NSLog(@"%@",[trnEntered count]); // prints null.
[trnEntered addObject:@"1"];
NSLog(@"%@",[trnEntered count]); // exec bad access.
对NSLog的两个调用都试图将
NSUInteger
打印为Objective-C对象。这会引起一个问题。您应该使用
NSLog(@“%d”,[trentered count])

我建议你多读一些,里面有很多有用的信息

还有一点信息:第二个
NSlog
正在尝试打印代码声明位于内存位置0x00000001的NSObject的
说明

trnEntered = [[NSMutableArray alloc] init];
NSLog(@"%@",[trnEntered count]); // prints null.
[trnEntered addObject:@"1"];
NSLog(@"%@",[trnEntered count]); // exec bad access.
原因是您使用的格式化程序字符串错误。您试图使用一个整数作为字符串指针,这当然会导致分段错误(或者苹果术语中的EXC_BAD_ACCESS)。使用%d打印一个整数,[trnEntered count]返回该整数


原因是您使用的格式化程序字符串错误。您试图使用一个整数作为字符串指针,这当然会导致分段错误(或者苹果术语中的EXC_BAD_ACCESS)。使用%d打印一个整数,[trnEntered count]返回该整数

NSLog
默认情况下以字符串格式打印ans,因此如果要打印整数值,则必须使用
%d
及其值。

NSLog
默认情况下以字符串格式打印ans,因此如果要打印整数值,则必须使用
%d
及其值。

啊,我知道是这样的,真不敢相信我在这上面浪费了两个小时。谢谢不客气。我也在简单的问题上花了太多的时间:)啊,我知道是这样的,我不敢相信我在这上面浪费了两个小时。谢谢不客气。我也在简单的问题上花了太多时间:)