[英]#import ProjectName-Swift.h into header file Can't use swift as .h property?
[英]I cant use #import “Header.h” in two different files
我有3個ViewController。 我的意思是我希望他們能夠互相訪問。
VC1必須訪問VC2和VC3。
VC2必須訪問VC1和VC3。
VC3必須訪問VC1和VC2。
當我想更改為另一個ViewController時,請執行以下操作:
我導入了可以更改的ViewController的標頭:
例如,在VC1中:
#import "VC2"
#import "VC3"
然后我做:
VC2 *myVC2;
VC3 *myVC3;
然后我用以下方式更改視圖控制器:
myVC2 = [[VC2 alloc] initWithNibName:@"VC2" bundle: nil];
myVC-C = [[VC3 alloc] initWithNibName:@"VC3" bundle: nil];
[self.view addSubView:myVC2.view];
要么
[self.view addSubView:myVC3.view];
但是,當您有2個ViewController時,此方法可用。 現在,在第三個ViewController中,我嘗試導入標頭並聲明:
VC3 *myVC3;
VC1 *myVC1;
編譯器告訴我一個Fix。
他建議我更改班級名稱,好像您做錯了什么一樣。
調用多個ViewController的方法是什么? 我不想使用TabBars。 我使用在每個視圖中復制的3個按鈕在ViewController之間進行訪問。
問候。
根據您對問題的描述,我猜測您的問題與“循環依賴關系”有關。 通常,最好避免在標頭( .h
)文件中使用#import
。 而是使用@class
表示該類存在,然后將#import
指令放在實現( .m
)文件中以實際使用該類。
例:
#import <UIKit/UIKit.h>
@class MySecondViewController;
@interface MyViewController : UIViewController {
MySecondViewController *_secondViewController;
// ...
}
// ...
@end
#import "MyViewController.h"
#import "MySecondViewController.h"
@implementation MyViewController
// ...
@end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.