2

現在、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 のコードにジャンプできました。

この状況の解決策を見た人はいますか?

4

0 に答える 0