4
Delphi/Firemonkey (XE5 또는 XE6)에서 간단한 ObjC 클래스를 어떻게 선언 할 수 있습니까? 이 클래스 내에 일부 대리자 메서드가있는 애니메이션 대리자 클래스를 만들고 싶습니다.Delphi + iOS : 간단한 ObjC 클래스를 선언하는 방법은 무엇입니까?
감사합니다.
Delphi/Firemonkey (XE5 또는 XE6)에서 간단한 ObjC 클래스를 어떻게 선언 할 수 있습니까? 이 클래스 내에 일부 대리자 메서드가있는 애니메이션 대리자 클래스를 만들고 싶습니다.Delphi + iOS : 간단한 ObjC 클래스를 선언하는 방법은 무엇입니까?
감사합니다.
메서드를 사용하여 인터페이스를 만들고 IObjectiveC에서 파생시킵니다. 또한 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;
위임 구현을 만들고 TOCLocal에서 파생됩니다. 델리게이트 인터페이스를 구현해야합니다.
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;
FDelegate: ISampleDelegate;
FDelegate := TSampleDelegate.Create(Self);
이 대리자를 지정 :
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;
위임 만들기