現在、swiftを使用してプロジェクトを開発しており、目的のcでいくつかのクラスを使用しています。私はブリッジをセットアップしましたが、それらのほとんどは正常に動作します。しかし、目的のクラスで定義されたメソッドをオーバーライドするには問題があります。
#import <UIKit/UIKit.h>
#import "ASFTableViewPublicGlobals.h"
@class ASFTableView;
@protocol ASFTableViewDelegate <NSObject>
@optional
- (void)ASFTableView:(ASFTableView *)tableView DidScroll:(UIScrollView *)aScrollView;
@end
@interface ASFTableView : UIView
@property (nonatomic, assign) id<ASFTableViewDelegate> delegate;
- (void)ASFTableView:(ASFTableView *)tableView DidSelectRow:(NSDictionary *)rowDict WithRowIndex:(NSUInteger)rowIndex;
@end
ご覧のとおり、目的 c のクラスは ASFTableView で定義されており、ブリッジとすべてをセットアップした後、swift でクラスを定義します。
import UIkit
class asftable: ASFTableView {
}
これはエラーなしで機能しますが、メソッドをオーバーライドしたい場合
import UIkit
class asftable: ASFTableView {
override func ASFTableView(tableView: ASFTableView!, didSelectRow rowDict: [NSObject : AnyObject]!, withRowIndex rowIndex: UInt) {
}
}
xcode は、宣言されていないタイプの ASFTableView の使用を表示します。ASFTableView を cmd+クリックしてみました。このメソッドをオーバーライドしなくても、ASFTableView のコードにジャンプできました。
この状況の解決策を見た人はいますか?