В вашем основном методе вы вызываете NSLog(self.str)
- хотя это будет работать, если объект, который вы передаете, является строкой, он не будет работать, если вы продолжите попытки регистрировать другие объекты.NSLog принимает строку формата в качестве параметра.Если вы просто делаете NSLog(self)
так, как будто вы находитесь в комментируемом коде, а self не является строкой, это приведет к краху, потому что он ожидал строку.Вы должны сделать NSLog(@"self: %@", self)
,% @ распечатает строку, возвращенную методом description
объектов.
Кроме этого, ваш метод init выглядит нормально, как именно вы создаете экземпляр этого объекта?Не могли бы вы показать код для этого?Проблема может лежать там.