我合成了一个叫NSMutableArray
的电子邮件,它是对象Person的一部分。电子邮件数组包含指向多个NSMutableString
对象的指针。
@property (strong) NSMutableArray *email;
@synthesize email = _email;
声明了字符串(在电子邮件对象的init方法中),如下所示:
NSMutableString *s = [NSMutableString stringWithFormat:@"Blah"];
有了这个,我后来用不同的方法执行[email count]
命令时出现了错误的访问错误。我使用自动保留计数ARC。为什么会这样?
编辑:事实证明[email count]
的输出是使用%@打印的,这在大多数情况下都不会起作用,见下文。
答案 0 :(得分:4)
想出来,我想。
明确表示我对Cocoa / Objective C的态度非常明显。我正在打印测试消息如下:
NSLog (@"%@",[[p email] count]);
但是count方法返回一个unsigned long(或NSInteger),并且一旦我将其更改为
NSLog (@"%ul",....
它奏效了。事情可以同时如此简单和艰难: - (
所以,备忘录给我:
如果返回一个数字,请确保您要打印它指向的对象(%@),它可能无效!!