Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何修复这个变异错误?_Ios_Objective C_Nsmutablestring - Fatal编程技术网

Ios 如何修复这个变异错误?

Ios 如何修复这个变异错误?,ios,objective-c,nsmutablestring,Ios,Objective C,Nsmutablestring,我得到了这个错误: ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“尝试使用ReplaceCharactersRange:withString:变异不可变对象” 但我不知道我在变异什么样的不可变对象 NSRange subRange = [self.label.text rangeOfString: @"="]; int numA = 5; int numB = 3; NSMu

我得到了这个错误:

***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“尝试使用ReplaceCharactersRange:withString:变异不可变对象”

但我不知道我在变异什么样的不可变对象

        NSRange subRange = [self.label.text rangeOfString: @"="];
        int numA = 5;
        int numB = 3;

        NSMutableString *mixed = [NSString stringWithFormat: @"%i %i", numA, numB];

        NSMutableString *string = [NSString stringWithString: self.label.text];

        subRange = [string rangeOfString: @"="];

        if (subRange.location != NSNotFound)
            [string replaceCharactersInRange:subRange withString:mixed];
您需要创建一个NSMutableString,如下所示:

[NSMutableString stringWithString: self.label.text];
您的NSMutableString创建调用未正确平衡。您向编译器承诺您正在创建一个NSMutableString,但您要求一个NSString创建一个实例

例如:

NSMutableString*mixed=[NSString stringWithFormat:@%i%i,numA,numB]

需要:

NSMutableString*mixed=[NSMutableString stringWithFormat:@%i%i,numA,numB]

您的NSMutableString实际上是NSString的实例。这是运行时的详细信息,尽管这些行至少应该有一个警告。改为:

NSMutableString *string = [self.label.text mutableCopy];

您的字符串变量不可变,您尝试对其进行变异。重复的