如何在Delphi中建立一个客观的C免费电话桥?
e.g。我有一个CFDictionaryRef并且我想将它用作NSDictionary,我只是做一个包装来将它从CF *实例转换为NS *实例吗?
我可以通过
从NS转换为CF.var
cfvariable CF*;
nsvariable: NS*;
begin
...
cfvariable := (nsvariable as ILocalObject).GetObjectID
但另一种方式似乎有时会引起我的问题 - 即有时候它有时会崩溃。所以想知道我是以正确的方式做到这一点还是问题是在其他地方,例如对于NSDictionary的CFDictionaryRef我做
var
attr : CFDictionaryRef;
nattr: NSDictionary;
begin
...
attr := CFDictionaryCreate(...);
nattr := TNSDictionary.Wrap(attr);
这是正确的方法吗?
(OSX上的Delphi XE6应用程序)
更新:这似乎是正确的方法,问题出在其他地方。我会把它留在这里以防任何其他人需要知道,因为它没有记录好。