私はC + +クラスのラッパーの役割でC + +コードと目的Cクラスを使用します。これまでに開発された部分が機能しました。Swift ViewController、目的のCプロトコル、タイプ 'ViewController'がプロトコル 'MyProtocolDelegate'に準拠していません
@protocol MyProtocolDelegate <NSObject>
- (void)updateCount:(int)count;
@end
@interface CvVideoCameraWrapper : NSObject
@property (weak,nonatomic) id <MyProtocolDelegate> delegate;
//remaining of my interface
@end
Iはに準拠し、追加のViewController他のプロトコルにMyProtocolDelegateを添加SWIFTコードで:
class ViewController: UIViewController, CvVideoCameraDelegate, UITextFieldDelegate, MyProtocolDelegate{
func updateCount(count:Int)
{
return
}
override func viewDidLoad() {
super.viewDidLoad()
self.typedName.delegate = self // this one works
self.videoCameraWrapper.delegate = self
// remaining of my viewDidLoad
}
//remaining of my ViewController
}
コンパイラはエラーを示し 私はちょうど一つの方法宣言オブジェクティブC、単純なプロトコルを追加しました: タイプ 'ViewController'がプロトコル 'MyProtocolDelegate'に準拠していません
目的型Cで宣言された代理メソッドのシグネチャと、 CとIntは即座に同じですが、迅速で客観的なCとC++のブリッジと他の相互作用が実現することを理解しています このプロトコルの使用に間違いがあることを指摘してください。
にObjC 'int'は、私は信じていスウィフト' Int32'と同等であるを見てみましょう。 – dan
'MyProtocolDelegate'に必要なすべてのメソッドを実装していることを確認してください – chengsam
あなたのプロトコルメソッド宣言でおそらく' NSInteger'を使うべきです。 – AdamPro13