我正在尝试将我的项目迁移到Swift,并开始使用#imports填充Objective-C Bridger文件到相关的.h文件。我已经详尽地检查了Build Settings选项和路径是否正确。我为UITableViewController创建了一个Swift文件,如下所示:
TableViewController.swift
class TableViewController {
var title: String = ""
var summary: String = ""
override init(style: UITableViewStyle) {
super.init(style: style)
}
override func viewDidLoad() {
super.viewDidLoad()
title = UIResources.getString(settingsKey, withSuffix: "title")
summary = UIResources.getString(settingKey, withSuffix: "summary")
}
...
}
但是,从第一个覆盖开始的每一行都会导致错误,如
初始化程序不会覆盖其超类
中的指定初始值设定项
和
'super'成员不能在根类中引用
我对使用Objective-C非常不熟悉,所以我不确定我需要改变什么,如果有的话。这是我在桥接头中导入的类的.h文件。我真的很难过这个。
TableViewController.h
#import <UIKit/UIKit.h>
@class TableViewController
@protocol TableViewControllerDelegate <NSObject>
- (void) tableViewControllerDidSave: (UIViewController *)controller forKey:(NSString *)key withNewValue:(id) value;
@end
@interface TableViewController : UITableViewController
@property (strong, nonatomic) id <TableViewControllerDelegate> delegate;
@property (strong, nonatomic) NSString *settingKey;
@property (strong, nonatomic) id stringValue;
@end
答案 0 :(得分:0)
我没有意识到我需要将类型添加到类定义
class TableViewController : UITableViewController, TableViewControllerDelegate {
这是你盲目信任时所得到的objectivec2swift.com:P
我还将.h文件中列出的变量和协议添加到Swift文件中。