Delphi + iOS:如何声明简单的ObjC-Class?

如何在Delphi / Firemonkey(XE5或XE6)中声明一个简单的ObjC-Class? 我想用这个类里面的一些委托方法创build一个animation委托类。

谢谢!

用你的方法创build一个接口,并从IObjectiveC派生。 也创build一个GUID。 我没有在这里发表,所以没有人试图使用我的。

ISampleDelegate = interface(IObjectiveC) ['{put-your-own-guid-here}'] // <-- Press Ctrl+Shift+G to create your own guid - must be unique for every interface procedure DispatchItem(Sender: Pointer); cdecl; end; 

创build您的委托实现并从TOCLocal派生。 它应该实现你的委托接口。

  TSampleDelegate = class(TOCLocal, ISampleDelegate) private FOwner: TMenuItem; public constructor Create(AOwner: TMenuItem); procedure DispatchItem(Sender: Pointer); cdecl; end; constructor TSampleDelegate.Create(AOwner: TMenuItem); begin inherited Create; FOwner := AOwner; end; 

创build委托:

 FDelegate: ISampleDelegate; FDelegate := TSampleDelegate.Create(Self); 

分配您的代理人:

 Item.setDelegate(FDelegate); 

释放你的代表:

 Item.setDelegate(nil); TNSObject.Wrap((FDelegate as ILocalObject).GetObjectID).release; // don't forget this one! The create constructor calls Alloc in inherited FDelegate := nil;