Iphone appdelegate中的NSMutableArray-执行错误访问
我试图在appdelegate中使用全局数组作为我正在构建的演示的快速修复。有关的代码 .h文件包含声明 {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(@“%@,[输入计数]);//执行
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
及其值。啊,我知道是这样的,真不敢相信我在这上面浪费了两个小时。谢谢不客气。我也在简单的问题上花了太多的时间:)啊,我知道是这样的,我不敢相信我在这上面浪费了两个小时。谢谢不客气。我也在简单的问题上花了太多时间:)