【问题标题】:Invalid argument error with NSMutableString?NSMutableString 的参数无效错误?
【发布时间】:2014-06-09 07:56:29
【问题描述】:

我的程序中有以下语句:

[operateAns replaceCharactersInRange:NSMakeRange(start, end-start) withString:[answer stringValue]];

operateAns 以如下方式初始化,其中 calc 是一个 NSMutableString:

operateAns = calc;

我收到以下错误

'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with replaceCharactersInRange:withString:'

关于为什么会发生这种情况的任何想法?

【问题讨论】:

    标签: ios xcode nsmutablestring invalidargumentexception


    【解决方案1】:

    在分配时试试这个。

    operateAns = [计算 mutableCopy];

    【讨论】:

    • 这行得通,但是您能否详细说明为什么即使它们已经是可变字符串也必须这样做?
    • @JDodle 您将其视为 NSMutableString,但可能在您初始化计算的地方,您会得到 NSString。你可以通过调试什么类型的对象来检查计算。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2016-01-05
    • 2020-10-16
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多