블록이 약간 편집증에 빠지며 유지주기가 생성 될 가능성이 있습니다. 저는 블록 기반 버전 UIAlertView
클래스를 사용하고 있습니다.이 클래스를 사용하면 위임 메서드 대신 블록을 사용할 수 있습니다. 이 Alertviews를 많이 사용하기 때문에, 나는 무거운 짐을 많이 들게하는 인스턴스 메소드를 종종 호출합니다.iOS 차단 및 유지주기에 대한 편집증
내가 someInstanceMethod
메서드에서 지정한 과제는 유지주기를 유발합니까?
(I 메모리 관리 ARC를 사용하고있다.)
__weak id weakSelf = self;
[doWorkAndThen:^{
[weakSelf someInstanceMethod];
}];
-(void) someInstanceMethod{
//will either of the assignments below cause a retain cycle?
self.iVar = @"data";
[self setIvar:@"data";
}
감사합니다. 케빈! 지금은 블록에 대해 훨씬 나아졌습니다. – bgolson