2016-09-02 74 views
0

引用一個斯威夫特視圖控制器我無法弄清楚如何從一個目標C VC在混合語言項目中引用一個斯威夫特VC。這是客觀的C代碼:從目標C視圖控制器

#import "NamesVC." 

... ([segue.identifier isEqualToString:@"peopleSegue"]){ 
     NamesVC *vc  = segue.destinationViewController; 
     vc.selEntity  = @"People"; 
     vc.delegateMethod= @"Admin"; 
     } 

橋接報: Version10橋接-Header.h

#ifndef Version10_Bridging_Header_h 
#define Version10_Bridging_Header_h 

#import "AppDelegate.h" 
#import "AdminTVC.h" 

你怎麼import雨燕VC進入的OBJ C級?

+0

感謝您的答覆我的目標C .m文件改變

"MyApp-Swift.h" to <MyApp-Swift.h> 

。我不想導入任何代碼。我只是想從Obj C VC推出Swift VC。例如:VC.swift * vc = [[ViC.swift alloc] init]; vc = [self.storyboard instantiateViewControllerWithIdentifier:@「HelpWeb」]; [self.navigationController pushViewController:vc animated:YES];我需要將VC.swift導入Obj C.橋接頭用於引用Swift類中的Obj C類。 – John

回答

1

導入ProjectModuleName-swift.h.m文件中頭部要訪問斯威夫特控制器這樣。

#import "ProjectModuleName-Swift.h" 

之後,你能夠訪問你的NamesVC目的C內ViewController

想了解更多關於Swift and Objective-C in the Same Project閱讀蘋果documentation,這個文檔裏面讀到導入斯威夫特成Objective-C的

+0

我想在你的情況下,你需要導入像這樣'#import「Version10-Swift.h」' –

+0

感謝您的迴應。我不想導入任何代碼。我只是想從Obj C VC推出Swift VC。例如:VC.swift * vc = [[ViC.swift alloc] init]; vc = [self.storyboard instantiateViewControllerWithIdentifier:@「HelpWeb」]; [self.navigationController pushViewController:vc animated:YES];我需要將VC.swift導入Obj C.橋接頭用於在Swift類中引用Obj C類。 – John

+0

你說的「我不希望導入的代碼」的意思,我告訴你只導入「ProjectModuleName-Swift.h」在你的目標C viewController.m文件,告訴我一件事在Objective C中,如果你想要從你的ViewController訪問一些其他控制器,你做什麼,顯然你總是導入該控制器在你的文件中使用。 –

0

導入斯威夫特成Objective-C的

你應該導入斯威夫特

012:使用該語法和替換適當的名稱從該目標成目標內的任何目標C .m文件代碼
#import "NamesVC.h" 
+0

感謝您的回覆。我不想導入任何代碼。我只是想從Obj C VC啓動Swift VC。例如: – John

0

對於任何人沒有找到一個解決方案,我想引用我的SWIFT類

相關問題