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

block C++ objective-c

冰镇方便面 9 years, 10 months ago

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

亚兰那一卡 answered 9 years, 10 months ago

Your Answer