我正在尝试创建一个接受NSMutableString并更改单个字符的实例方法,如下所示。已在属性中正确设置name
。
使用main中的NSMutableString对象,相同的方法可以正常工作,但我不能让它在实例方法中工作。我究竟做错了什么?
-(void)changeName:(id)string{
[self.name replaceCharactersInRange:NSMakeRange(0, 1) withString:@"x"];
}
答案 0 :(得分:2)
如果它在实例方法中不起作用,则可能是因为你没有将NSMutableString的指针传递给replaceCharactersInRange。注意,当传递nil指针时,Objective-C方法很愉快。
在您的实例方法中使用NSLog在您尝试修改它之前和之后打印出声称的可变字符串。然后弄清楚为什么可变字符串指针永远不会被设置。