看來我在segue期間創建的viewcontroller無法修改或創建任何類型爲NSArray的成員變量。我可以在任何函數內創建局部變量,但是分配成員變量不起作用,也不會在init中分配數組。在UIViewController期間無法分配或分配NSArray
這是怎麼回事?
這將工作,如果不使用iOS5.1和Xcode 4.3我敢肯定。
- (id)initWithViewControllers:(NSArray *)newViewControllers
{
if (self = [super init]) {
_viewControllers = [newViewControllers retain];
}
return self;
}
成員變量都設置正確。它根本不分配_viewControllers任何東西。它總是零。
我不能包含整個代碼但本質上是這樣的:
根導航控制器用於裝載表視圖控制器從兩行來接。每行然後推動另一個視圖控制器加載我們做一些工作的地方。當我點擊該行並分配另一個視圖控制器時發生故障。在分配期間,NSMutableArray或NSArray類型的成員變量不會被創建,它們總是返回0x0。我無法通過創建我自己的initWithArray來設置變量:(NSArray *)。
請不要投票,如果它缺少的問題是有效的,可以修改。只是發表評論,我會回答。我從來沒有見過Obj-C以這種方式行事,這就是爲什麼我發佈這個。
你可以發佈相關的代碼和確切的問題嗎? (Xcode錯誤或打印輸出的意外結果) – rosslebeau 2012-03-29 19:56:00
你要在哪裏使用*這個實例變量,你看到它爲零?這很可能是你的問題。 – Chuck 2012-03-29 20:48:38
它最終成爲一個腐敗PNG怪異副作用的問題。 – cynistersix 2012-03-30 01:32:17