【问题标题】:Bad Access when trying to access a Mutable Array with an NSMutableString [closed]尝试使用 NSMutableString 访问可变数组时出现错误访问 [关闭]
【发布时间】:2012-03-05 10:37:29
【问题描述】:

我合成了一个名为 email 的NSMutableArray,它是对象 Person 的一部分。 email 数组包含指向多个 NSMutableString 对象的指针。

@property (strong) NSMutableArray *email;
@synthesize email = _email;

字符串被声明(在电子邮件对象的 init 方法中)如下:

NSMutableString *s = [NSMutableString stringWithFormat:@"Blah"];

这样,当我后来以不同的方法执行[email count] 命令时,我得到了一个错误的访问错误。我使用自动保留计数 ARC。为什么会这样?

编辑:事实证明,[email count] 的输出是使用 %@ 打印的,这在大多数情况下都不起作用,见下文。

【问题讨论】:

    标签: objective-c nsmutablestring


    【解决方案1】:

    想通了,我想。

    使我对 Cocoa/Objective C 的绿色程度一目了然。我正在打印如下测试消息:

    NSLog (@"%@",[[p email] count]);

    但是 count 方法返回一个无符号长整数(或 NSInteger),我一改成

    NSLog (@"%ul",....

    成功了。事情可以同时如此简单和困难:-(

    所以,给我的备忘录:

    如果返回一个数字,请确定要打印它指向的对象(%@),可能无效!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-19
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多