@interface Article : NSObject
@property (nonatomic, strong) NSString *imageURLString;
@end
@implementation Class
@synthesize imageURLString = _imageURLString;
- (void)setImageURLString:(NSString *)imageURLString {
_imageURLString = imageURLString;
//do something else
}
Eu cancelei corretamente o configurador quando o ARC está ativado?
iphone
ipad
ios5
automatic-ref-counting
remador
fonte
fonte
Respostas:
Sim isto está correcto. Também demorei um pouco para acreditar que essa é realmente a coisa certa a fazer.
Você percebe que, neste caso, a substituição não é necessária, pois você não faz mais do que o configurador gerado pelo padrão faria? Somente se você adicionar mais código a
setImageURLString:
, será necessário substituir o configurador.fonte
Expandindo a resposta dada por @Pascal, gostaria apenas de acrescentar que é definitivamente a coisa certa a se fazer e você pode verificar o que o código compila. Eu escrevi uma postagem no blog sobre como fazer a verificação, mas basicamente esse código é compilado para (ARMv7):
Observe a chamada
_objc_storeStrong
que, de acordo com o LLVM, faz isso:Então, para responder à sua pergunta, sim, está certo. A ARC adicionou na liberação correta do valor antigo e na retenção do novo valor.
[Provavelmente devido a uma resposta complicada, mas pensei que seria útil mostrar como você pode responder a esse tipo de pergunta relacionada ao ARC no futuro]
fonte
_lineColor = [input copy];
, sim.Ligar
É isso aí
fonte