我正在尝试在Objective-C中开始的现有项目中继续使用Swift。我跟着Apple documentation,我设法通过在我的Obj-C文件中包含“ProductModuleName-Swift.h”标题,从Objective-C文件访问Swift类。
此时这是我的代码:
#include "Pianoconcert_App-Swift.h"
@interface ModelsVC ()
@end
@implementation ModelsVC
// And all that kind of stuff
// ...
-(IBAction)comanda:(UIButton *)sender {
ComandaTableVC *controller = (ComandaTableVC *)self.tabBarController.viewControllers[2];
// Here goes the problematic code
[self.tabBarController setSelectedIndex:2];
}
这段代码没有问题。但是现在我只想在Swift类中设置一个变量:controller.selectedModel = sender.tag
,但是Xcode告诉我变量不存在。
这是我的Swift课程的摘录:
import UIKit
class ComandaTableVC: UITableViewController, UIPickerViewDataSource, UIPickerViewDelegate {
// Declaration of some constants and variables
// And here goes the one
var selectedModel: Int = 0
// And a bunch more of variables and functions
// ...
}
我不知道我做错了什么。该类似乎完全包含在内,实际上,如果我使用另一个Swift文件中的类,我可以访问该变量和所有其他变量,如下所示:
var controller: ComandaTableVC = self.tabBarController.viewControllers[2] as ComandaTableVC
controller.selectedModel = 2
答案 0 :(得分:0)
它终于得到了解决,但我无法解释如何解决。 突然,编译器抛出了一个构建错误,告诉我找不到文件 Pianoconcert_App-Swift.h 。
我为 PianoconcertApp-Swift.h 更改了它,删除了替换空格的下划线,现在我可以正确访问所有变量和常量。