delphi + ios:使用objective-c对象释放/保留和引用计数

时间:2017-05-25 09:13:15

标签: delphi

据我所知,导入包装类所代表的Objective-C对象没有ARC。处理Objective-C对象时,您必须在正确的位置调用retain并释放自己。

分配一个新的Objective-C对象会将其引用计数初始化为1,并且调用release会将其降为0,从而将其销毁。

所以问题是,我们是否需要为我们创建的每个对象调用release?如何使用delphi下的ios objective-c对象进行引用计数?

我也听说他们是不同类型的场景,例如,如果你用Create创建这样一个类,alloc它的自然调用的接缝和其他函数如{{1}它的缝合保留没有被调用...所以现在我知道何时发布以及何时保留

我遇到的典型情况是:

fileUrlWithPath

下面的这条指令创建一个GraphRequest,它将调用异步(因此它立即返回)http请求并稍后调用(完成后)函数GraphRequestCompletionHandler

这个问题我需要像

那样写
  var aGraphRequest: FBSDKGraphRequest;

  aGraphRequest := TFBSDKGraphRequest.Wrap(TFBSDKGraphRequest.Alloc.initWithGraphPath(StrToNSStr(aGraphPath));
  aGraphRequest.startWithCompletionHandler(GraphRequestCompletionHandler);

相反?

取自delphi的其他例子:

  aGraphRequest := TFBSDKGraphRequest.Wrap(TFBSDKGraphRequest.Alloc.initWithGraphPath(StrToNSStr(aGraphPath));
  aGraphRequest.startWithCompletionHandler(GraphRequestCompletionHandler);
  aGraphRequest.release

我觉得这个样本中的内存泄漏没有?错过了LString的发布

0 个答案:

没有答案