c++ 调用 OC block

初学 oc,混合 c++ 编写一个工具类,
因为 oc 可以跟 c++ 混编,所以有了这个想法,是否可以在 c++ 中调用 oc 的块呢?

c++ 头文件定义了块

typedef void (^fetched_block)(const unsigned char *data, size_t size);

调用写成这样

fetched((const unsigned char *)data, size);

运行时毫不留情的给了 EXC_BAD_ACCESS

阅读 6.2k
1 个回答

你的block copy了吗?默认不在全局范围定义的block都会被初始化为栈block类型,copy之后就会被复制到堆上。如果你在栈作用域之外调用栈上的block就等于是在非法访问内存了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题