0

我在導航堆棧彈出一些視圖控制器後收到此錯誤,並在結束我打通一個動作片要問的問題。我得到的錯誤參數不滿足view != nil,這讓我發瘋,因爲它 - 因此事實上,在調用操作表之前檢查時,它的值不是nil並不令人滿意UIActionSheet無效參數:查看=零

if (self.view != nil) { 
      NSLog(@"view is not nil"); 
     } 
UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"title" delegate:nil cancelButtonTitle:@"cancel" destructiveButtonTitle:@"destructive" otherButtonTitles:nil]; 
    [actionSheet showInView:self.view]; 

回答

5

極有可能是鑑於你正試圖在沒有連接到窗口尚未顯示UIActionSheet。嘗試在視圖附加到窗口後調用showInView。假設上面的代碼在視圖控制器實現中,請嘗試在viewDidLoad而不是loadView中調用它。

+0

實際上,叫它「viewDidAppear」,你是好去。 – mpemburn 2013-02-19 13:02:15

1

我不得不到[自performSelector:withObject:afterDelay:1]在每個POP,我猜它做一些與視圖的狀態。需要顯示。

1

showInView是給我無效的參數並不令人滿意:查看=零例外太..所以我嘗試[self.view addSubview action sheet];

showInView應viewDidLoad中之後,所以如果加上被稱爲[actionSheet showInView:self.view]! ;在viewDidAppear,它不會崩潰。在我的單元測試發生

0

這個錯誤在Xcode 4.6.2當它擊中應該呈現UIActionSheet線。它在舊版本的Xcode中沒有發生。我想這是因爲類似的問題 - 沒有視功能單元測試期間呈現給。

我工作圍繞它通過寫我的測試修改的基礎數據,並對其進行測試,而不是提出一個動作片,然後選擇一個按鈕,並提交bug報告給蘋果。

相關問題