gpt4 book ai didi

ios - 德尔福 + iOS : How to declare simple ObjC-Class?

转载 作者:可可西里 更新时间:2023-11-01 05:41:01 25 4
gpt4 key购买 nike

如何在 Delphi/Firemonkey(XE5 或 XE6)中声明一个简单的 ObjC 类?我想在此类中创建一个带有一些委托(delegate)方法的动画委托(delegate)类。

谢谢!

最佳答案

使用您的方法创建接口(interface)并从 IObjectiveC 派生。同时创建一个向导。我不会在这里发布,以免有人想使用我的。

  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;

创建您的委托(delegate)实现并从 TOCLocal 派生。它应该实现您的委托(delegate)接口(interface)。

  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;

创建委托(delegate):

FDelegate: ISampleDelegate;

FDelegate := TSampleDelegate.Create(Self);

分配您的代表:

Item.setDelegate(FDelegate);

释放你的委托(delegate):

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

关于ios - 德尔福 + iOS : How to declare simple ObjC-Class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com