我在我们的项目中使用单声道绑定(bind)包含了一些来自“Cocoa Controls”的控件,它们都可以正常工作,除了有一个我无法工作我希望有人能发现一个明显的错误。
这是 Objective-C header
typedef enum {
kWTShort = 1,
kWTLong = 5
} WToastLength;
@interface WToast : UIView
+ (void)showWithTextNSString *)text;
+ (void)showWithImageUIImage *)image;
+ (void)showWithTextNSString *)text lengthWToastLength)length textColorUIColor *) textColor backgroundColorUIColor *) backGroundColor;
+ (void)showWithImageUIImage *)image lengthWToastLength)length;
@end
这里是 Mono ApiDefinition
[BaseType (typeof(UIView))]
interface WToast
{
[Export("showWithText:")]
void ShowText(String text);
[Export("showWithText:length:textColor:backgroundColor:")]
void ShowText(string text,ToastLenght lenght,UIColor textColor,UIColor backgroundColor);
}
注意我没有包含枚举 ToastLength
对象实例化的任何方式,但是当我调用 ShowText 时,程序找不到选择器 [WToast showWithText:]
希望有人能帮忙
问候克里斯蒂安·斯托尔·安徒生
Best Answer-推荐答案
我想我只需要暂时远离代码。
答案是我有点厚
你会注意到 objective-c 函数是
+ (void)showWithTextNSString *)text;
不是
- (void)showWithTextNSString *)text;
Mono 的定义应该是
[Static,Export("showWithText:")]
void ShowText(String text);
不是
[Export("showWithText:")]
void ShowText(String text);
谢谢大家
关于objective-c - Monotouch 物镜 C 绑定(bind),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/13081288/
|