c++ 调用 OC block

斑驳 2015年03月31日提问
0

初学 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

1个回答

0

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

撰写答案

SegmentFault

一起探索更多未知

下载 App