【发布时间】:2016-04-03 03:32:53
【问题描述】:
我的项目结构/依赖项是:
AppDelegate --> 导入“FirstRunViewController”和“MainViewController”
- 如果用户已登录,则将 rootViewController 设置为 MainViewController
- 如果用户未登录,则将 rootViewController 设置为 FirstRunViewController
FirstRunViewController --> 导入“MainViewController”
- 登录/注册后,将viewController设置为MainViewController
MainViewController --> 导入“SettingsViewController”
- 在需要时提供 SettingsViewController
SettingsViewController --> 导入“FirstRunViewController”
- 如果用户选择退出,它会将 viewController 设置为 FirstRunViewController
我的问题
在“SettingsViewController”中导入“FirstRunViewController”(处理注销)会导致 Xcode 无法在另一个不相关的 ViewController 中找到有效的委托。具体错误码为“No type or protocol named ABCDelegate”。
删除“#import”语句将允许代码运行和编译,但禁用注销。
我的问题
为什么会这样?
我怎样才能阻止这种情况发生?
【问题讨论】:
-
但是 ABCDelegate 是在哪里声明的呢?还请显示实际的导入语句及其所在位置:不要只说“导入”,因为谁知道你真正在做什么?不要描述你的代码; 显示它。如果你这样做,会更加可靠和清晰。
-
尝试使用
@class代替import
标签: ios objective-c iphone xcode uiviewcontroller