【发布时间】:2015-04-15 16:01:27
【问题描述】:
我正在使用 PromiseKit(很棒的框架,顺便说一句!)来处理我的应用程序和服务器 API 之间的通信。我想创建某种全局处理程序来响应诸如通知用户我的许多承诺中缺乏网络连接之类的事情。
PMKPromise.h 文件列出了一个未处理的错误处理程序:
/**
Called by PromiseKit in the event of unhandled errors.
The default handler NSLogs the error. Note, your handler is executed
from an undefined queue, unless you manage thread-safe data, dispatch to
a safe queue before doing anything else in your handler.
*/
extern void (^PMKUnhandledErrorHandler)(NSError *);
然后在 PMKPromise.m 文件中实现此类型,尽管 doc 块暗示这可以被覆盖。我的问题是我该如何重新定义这个变量?
复制 .m 文件中使用的相同语法会给我一个链接器错误
void(^PMKUnhandledErrorHandler)(id) = ^(NSError *error){
//...
};
==> duplicate symbol _PMKUnhandledErrorHandler
【问题讨论】:
-
您是要重新定义块类型还是创建该类型的块?另外,您的第二个代码块在什么范围内?顶层?在函数或方法内部?
-
试图重新定义类型。试图在我的一个 .m 文件的全局范围内重新定义。
标签: ios objective-c promisekit