在Objective-C中复制块(即:将它们复制到实例变量)

在Objective-C中复制块(即:将它们复制到实例变量),第1张

概述我正在努力了解街区。当我们直接传递给一个方法时,我正常地使用它们。我现在感兴趣的是将其存储在一个实例变量中,然后再调用它。 块编程指南使它听起来像我可以做到这一点,通过使用Block_copy / retain来复制块,但是当我尝试运行它,我崩溃我的程序。 - (void) setupStoredBlock{ int salt = 42; m_storedBlock = ^(in 我正在努力了解街区。当我们直接传递给一个方法时,我正常地使用它们。我现在感兴趣的是将其存储在一个实例变量中,然后再调用它。

块编程指南使它听起来像我可以做到这一点,通过使用Block_copy / retain来复制块,但是当我尝试运行它,我崩溃我的程序。

- (voID) setupStoredBlock{    int salt = 42;    m_storedBlock = ^(int incoming){ return 2 + incoming + salt; };    [m_storedBlock retain];}

我稍后再打电话

- (voID) runStoredBlock{    int outputValue = m_storedBlock(5);    NSLog(@"When we ran our stored blockwe got back: %d",outputValue);    [m_storedBlock release];}

任何人有任何见解? (或者,有没有东西我没有得到与块?)

非常感谢你!

解决方法 您需要改为:

- (voID) setupStoredBlock{    int salt = 42;    m_storedBlock = Block_copy(^(int incoming){ return 2 + incoming + salt; });}
总结

以上是内存溢出为你收集整理的在Objective-C中复制块(即:将它们复制到实例变量)全部内容,希望文章能够帮你解决在Objective-C中复制块(即:将它们复制到实例变量)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存