PromiseKit AnyPromise, а затем сбой EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010
У меня происходит сбой в Fabric, который указывает на первую строку в Objective-C:
somePromise.then(^ {
// some more code
});
Приложение использует PromiseKit. Почему это сбой?
1 ответ
Ответ: в некоторых случаях somePromise
возможно nil
, Вызов метода на nil
(или "отправка сообщения nil
") в Objective-C все должно быть прекрасно, правда?
Ну, в этом случае код на самом деле не пытается отправить сообщение Objective C nil
, Вместо этого он пытается выполнить блок, который nil
, Это как делать это:
void (^block)() = nil;
block(); // CRASH!
Итак: убедитесь, что обещание не nil
перед звонком then
в теме.
Спасибо @mxcl за предоставленное мне решение здесь: https://github.com/mxcl/PromiseKit/issues/344