C# Monotouch/C(等同于id<;SomeType>;在ObjectiveC中?

C# Monotouch/C(等同于id<;SomeType>;在ObjectiveC中?,c#,binding,xamarin.ios,C#,Binding,Xamarin.ios,你好 我有: 目标C: -(void)addTarget:(id)newTarget; C#: 调用时导致“无法识别的选择器发送到实例” stillCamera.AddTarget (filter); 及 而StillCamera的基本类型是VideoCamera,它具有基本类型GPUImageOutput GPUImageSketchFilter是一个GPUImageSobelEdgeDetectionFilter它是一个gpuimagetwassfilter它是一个GPUImageOut

你好

我有:

目标C:

-(void)addTarget:(id)newTarget;
C#:

调用时导致“无法识别的选择器发送到实例”

stillCamera.AddTarget (filter);

StillCamera的基本类型是VideoCamera,它具有基本类型GPUImageOutput

GPUImageSketchFilter是一个GPUImageSobelEdgeDetectionFilter它是一个gpuimagetwassfilter它是一个GPUImageOutput它是一个NSObject同时实现GPUImageInput

有什么想法吗


谢谢大家!

我相信你少了一个冒号:

[Export ("addTarget:")]
相当于

 // Objective-C 
 id<FOO> xxx;
//Objective-C
id xxx;

只是C#中的“Foo”而已。

很有魅力。不过我还是很困惑。你能解释一下冒号吗?那只是选择器的名字,用标准的ObjC。一般规则是:“foo”=一个没有参数的方法,“foo:”=一个有一个参数的方法,“foo:arg1:”=一个有两个参数的方法,等等。非常感谢。这就解释了我遭遇的许多车祸:)
[Export ("addTarget:")]
 // Objective-C 
 id<FOO> xxx;