Qual é a maneira correta de criar um setter personalizado para uma propriedade fraca no Objective C?

Se eu declarar uma propriedade como esta:

@property(nonatomic,weak) Foo *someProperty;

e então declaro um setter personalizado assim:

- (void)setSomeProperty:(Foo *)someProp {
    _someProperty = someProp;
    //...more custom stuff
}

há algo de errado com isso? Ou seja, o compilador deve sintetizar automaticamente o _someProperty ivar com o modificador __weak, então apenas fazer a atribuição no setter acima deve ser suficiente, correto?

questionAnswers(1)

yourAnswerToTheQuestion