Objective-C: NSMutableString replaceCharactersInRange raising Exception

iphone, objective-c, string

Solution

In your first line, you're attempting to assign an NSString * (@"I hate...") to an NSMutableString * (teststring).

Your original code should give you a compilation warning:

incompatible Objective-C types initializing 'struct NSString *', expected 'struct NSMutableString *'

The following will allow your code sample to compile and run correctly:

NSMutableString *teststring=[NSMutableString stringWithString:@"I hate programming my iPhone"];

Problem

I expected this code to replace the hate with some love. ``` NSMutableString *teststring=@"I hate programming my iPhone"; NSString *overwriteSource=@"love"; NSRange temprange=NSMakeRange(2, 4); [teststring replaceCharactersInRange:temprange withString:overwriteSource]; NSLog(@"%@",teststring); ``` This terminates due to an uncaught exception and I can't figure out why. Help ! (and thanks)

Original source