Objective-C: NSMutableString replaceCharactersInRange, вызывающий исключение - PullRequest
4 голосов
/ 10 января 2010

Я ожидал, что этот кодекс заменит ненависть любовью.

 NSMutableString *teststring=@"I hate programming my iPhone";

 NSString *overwriteSource=@"love";

 NSRange temprange=NSMakeRange(2, 4);

 [teststring replaceCharactersInRange:temprange withString:overwriteSource];

 NSLog(@"%@",teststring);

Это завершается из-за неисследованного исключения, и я не могу понять, почему. Помогите ! (и спасибо)

1 Ответ

7 голосов
/ 10 января 2010

В первой строке вы пытаетесь присвоить NSString * (@ "Я ненавижу ...") NSMutableString * (testtring).

Ваш оригинальный код должен дать вам предупреждение компиляции:

несовместимые типы Objective-C инициализация 'struct NSString *', ожидаемый 'struct NSMutableString *'

Следующие примеры позволят вашему примеру кода скомпилироваться и работать правильно:

NSMutableString *teststring=[NSMutableString stringWithString:@"I hate programming my iPhone"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...