2017-07-16 32 views
0

我試圖從Objective-C類推視圖控制器波紋管:pushViewController從Objective-C類斯威夫特

ProductDetailVC *aObjVC = [appDelegate.mainStoryBoard instantiateViewControllerWithIdentifier:@"ProductDetailVC"]; 

[self.navigationController pushViewController:aObjVC animated:YES]; 

但由於原因下方得到墜毀:

「終止應用程序由於未捕獲異常 'NSInvalidArgumentException',原因:'Storyboard()不包含視圖控制器,標識符爲 'ProductDetailVC''「

我在故事板

enter image description here

+0

你在哪裏調用此方法? – sleepwalkerfx

+0

你已經在'Storyboard'中將標識符設置爲'ProductDetailVC'? – dirtydanee

+0

@dirtydanee他已經提到他已經在原來的職位。第一位編輯刪除了這些信息(並且您已經批准了錯誤的編輯;))我已將它添加回來。 – sleepwalkerfx

回答

0

即使分配標識符「ProductDetailVC」你檢查,如果你的故事板是不是零?

試試這個:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"YOURSTORYBOARDNAME" 
                 bundle: nil]; 

YOURVIEWCONTROLLER *controller = (YOURVIEWCONTROLLER*)[mainStoryboard 
        instantiateViewControllerWithIdentifier: @"YOURVIEWCONTROLLERID"]; 
+0

故事板不是零,我從這個主要故事板內部調用其他目標c類只有在快速課程不工作的情況下才會有作品。 –

0

最有可能的原因是,你的appDelegate.mainStoryBoard不擁有自己的實際故事板的參考。您不需要在appdelegate中保留故事板引用來推送視圖控制器。你可以通過調用self,而不是去做,

ProductDetailVC *aObjVC = [self.mainStoryBoard instantiateViewControllerWithIdentifier:@"ProductDetailVC"]; 
[self.navigationController pushViewController:aObjVC animated:YES]; 
+0

我嘗試過使用「self.storyboard」,但它甚至沒有用。 ProductDetailVC * aObjVC = [self.storyboard instantiateViewControllerWithIdentifier:@「ProductDetailVC」]; [self.navigationController pushViewController:aObjVC animated:YES]; –

+1

檢查此,https://stackoverflow.com/questions/24020610/how-to-access-both-objective-c-and-swift-classes-from-same-storyboard – sleepwalkerfx

+0

謝謝!只要能夠通過上面的鏈接解決它,創建另一個故事板,並將視圖控制器放入新的故事板。和完美的作品。但它不適用於我的舊故事板需要創建更新。 –

0
  1. 仔細檢查CLASS_NAME 「ProductDetailVC」。
  2. 刪除class_name,然後再次輸入並按Enter鍵。
  3. 然後檢查標識符
  4. 模塊不應爲零

enter image description here

ProductDetailVC * productDetailVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ProductDetailVC"]; 

    [self.navigationController pushViewController:productDetailVC animated:TRUE]; 
+0

是的,我已經添加了,請再次檢查我的問題,我添加了截圖。 –

+0

@NiravPatel你的故事板名稱是什麼? – junaidsidhu

+0

「主」默認故事板名稱。 –