Я переопределил синтезируемое свойство, потому что я хотел добавить NSAssert.
Это в порядке, чтобы сделать (т.е. переопределение) или рассмотренная плохая практика?
@synthesize someField;
-(NSString*)someField {
NSAssert(someField != nil,@"someField");
return someField;
}
Это нормально. Из документации :
Вы используете ключевое слово @synthesize для скажите компилятору, что он должен синтезировать сеттер и / или геттер методы для свойства, если вы не предоставить их в @implementation block.
То есть, если вы предоставите их, компилятор будет использовать ваши, независимо от директивы @synthesize.