2012-04-20 5 views
0

나는 가변 배열에 저장하고있는 뷰 컨트롤러가 있습니다. 보기에 버튼이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 끄기. 당신이 깜빡 때문에

+0

'self.count' 속성은 무엇입니까? –

+0

이 코드가 모두'KAGameInfoViewController' 클래스의 일부라고 가정합니다. 그것은'count'라는 ivar를 가지고 있습니까? 그렇지 않다면'if (self.count == 0)'이 문제가 될 수 있습니다. –

+0

ARC를 끄는 것은 코드와 관련된 할당 문제를 가릴 가능성이 있기 때문에 좋은 해결책이 아닐 수도 있습니다. –

답변

5

아마 self.viewControllers는 무기 호입니다 : 어디

self.viewControllers = [[NSMutableArray alloc] init]; 

.

+0

하하하 나는 정보가 일시적으로 없어 졌다고 간청한다 : – Quentamia

관련 문제