【发布时间】:2012-12-24 19:12:17
【问题描述】:
所有, 框架调用 objc_retain 时会引发 EXC_BAD_ACCESS 异常。任何追踪问题的帮助或提示将不胜感激。如果我应该提供更多代码,请告诉我。
问题领域:
- (SCUuidNode*)addUUIDNode:(NSString*)uuid
{
const char *uuidCStr = [uuid cStringUsingEncoding:NSASCIIStringEncoding];
SCUuidNode *uuidNode = [[SCUuidNode alloc] initWithNode:create_uuid_node(uuidCStr)];
composite_node_append_child((Node*)[self node], [uuidNode node]);
return uuidNode; # Exception is being thrown right around here.
}
...
Composite *paymentNode = [SCCompositeNode createPriceNode:^(SCCompositeNode *cnode) {
SCUuidNode *uuidNode = [cnode addUUIDNode:buyerDeviceId];
SCIntNode *buyerIdNode = [cnode addIntNode:[buyerUserId integerValue]];
}];
【问题讨论】:
-
产品 -> 编辑方案 -> 诊断,在内存管理部分中启用僵尸对象的复选框
-
我不确定...但是为什么使用
char *不能使用nsstring? -
是的,我明白了,如果你使用 nsstring,那么 ARC 会正常工作吗?
-
谢谢大家,这对我很有帮助,而且当我有更多时间时,它似乎可以帮助我更好地追踪它。
-
这里还有更多内容。
initWithNode:...是如何实现的?
标签: objective-c ios automatic-ref-counting