#objective-c
#objective-c
Вопрос:
Я пытаюсь создать метод экземпляра, который принимает NSMutableString и изменяет отдельные символы, как показано ниже. name
правильно задано в свойствах.
С объектом NSMutableString в main тот же самый метод, о котором идет речь, работает нормально, но я не могу заставить его работать в методе экземпляра. Что я делаю не так?
-(void)changeName:(id)string{
[self.name replaceCharactersInRange:NSMakeRange(0, 1) withString:@"x"];
}
Комментарии:
1. Вы понимаете, что вы вообще не используете
string
параметр? Какова будет цель этого параметра?self.name
Изменяется ли после-changeName:
вызова? Как вы думаете, почему метод не работает, т. Е. Что он должен делать и каковы результаты?
Ответ №1:
Если он не работает в методе экземпляра, скорее всего, вы не передаете указатель NSMutableString на replaceCharactersInRange . Обратите внимание, что методы Objective-C, к счастью, не работают при передаче нулевых указателей.
Используйте NSLog в вашем методе экземпляра, чтобы распечатать предполагаемую изменяемую строку до и после попытки ее изменения. Затем выясните, почему указатель на изменяемую строку так и не был установлен.