Objective c 尝试使用NSMutableString访问可变数组时访问错误
我合成了一个名为email的Objective c 尝试使用NSMutableString访问可变数组时访问错误,objective-c,nsmutablestring,Objective C,Nsmutablestring,我合成了一个名为email的NSMutableArray,它是objectperson的一部分。电子邮件数组包含指向多个NSMutableString对象的指针 @property (strong) NSMutableArray *email; @synthesize email = _email; 字符串的声明(在电子邮件对象的init方法中)如下所示: NSMutableString *s = [NSMutableString stringWithFormat:@"Blah"]; 这样,
NSMutableArray
,它是objectperson的一部分。电子邮件数组包含指向多个NSMutableString
对象的指针
@property (strong) NSMutableArray *email;
@synthesize email = _email;
字符串的声明(在电子邮件对象的init方法中)如下所示:
NSMutableString *s = [NSMutableString stringWithFormat:@"Blah"];
这样,当我以后用另一种方法执行[email count]
命令时,会出现错误的访问错误。我使用自动计数弧。为什么会发生这种情况
编辑:事实证明,
[email count]
的输出是使用%@打印的,这一点很重要,因为它在大多数情况下都不起作用,请参见下文。我想是解决了这个问题
很明显,我对Cocoa/Objective C是多么的绿色。我打印了一条测试消息,如下所示:
NSMutableString *s = [NSMutableString stringWithFormat:@"Blah"];
NSLog(@“%@,[[p email]count])代码>
但是count方法返回一个无符号long(或NSInteger),一旦我将其更改为
NSLog(@“%ul”,…
它成功了。事情可以是简单的,也可以是困难的:-(
所以,给我的备忘录是:
如果返回一个数字,请确保要打印它指向的对象(%@),它可能无效!!