나는 가변 배열에 저장하고있는 뷰 컨트롤러가 있습니다. 보기에 버튼이ARC가 내 개체를 할당 해제하는 이유는 무엇입니까?
@property (nonatomic, retain) NSMutableArray *viewControllers;
및 I가 클릭 할 때 I 다음 메시지가 :
- (void)pushViewController:(KAViewController *)viewController
{
[self.viewControllers addObject:viewController];
if (self.count == 0)
[self.view addSubview:viewController.view];
else
[self transitionFromView:self.currentViewController.view toView:viewController.view];
}
배열은 (viewControllers)는 다음과 같이 정의된다
[KAGameInfoViewController performSelector : withObject : withObject :] : 해제 된 인스턴스에 메시지가 전송되었습니다. 0x6e6e900
0x6e6e900이 내 View Controller의 주소임을 확인했습니다.
의견이 있으십니까?
EDIT 문제를 해결 ARC 끄기. 당신이 깜빡 때문에
'self.count' 속성은 무엇입니까? –
이 코드가 모두'KAGameInfoViewController' 클래스의 일부라고 가정합니다. 그것은'count'라는 ivar를 가지고 있습니까? 그렇지 않다면'if (self.count == 0)'이 문제가 될 수 있습니다. –
ARC를 끄는 것은 코드와 관련된 할당 문제를 가릴 가능성이 있기 때문에 좋은 해결책이 아닐 수도 있습니다. –