【发布时间】:2020-04-27 14:23:27
【问题描述】:
作为参考,我使用的是 Xcode 11.3
我遇到了一个已释放对象的问题,它导致 EXC BAD ACCESS。 好消息是我确切地知道对象是什么。 我不知道如何解决它。
这是发生崩溃的代码...
- (void)didSendPTPCommand:(NSData*)command inData:(NSData*)data response:(NSData*)response error:(NSError*)error contextInfo:(void*)contextInfo
{
NSLog(@"%@ %@ %@ %@", NSStringFromSelector(_cmd), data, response, error);
PTPOperationRequest* ptpRequest = (__bridge PTPOperationRequest*)contextInfo;
PTPOperationResponse* ptpResponse = NULL;
if ( ptpRequest )
崩溃开始了:
PTPOperationRequest* ptpRequest = (__bridge PTPOperationRequest*)contextInfo;
这段代码是从这段代码中调用出来的:
ptpData = NULL;
PTPOperationRequest* request = [[PTPOperationRequest alloc] init];
request.operationCode = PTPOperationCodeInitiateCapture;
request.numberOfParameters = 0;
commandBuffer = request.commandBuffer;
[camera requestSendPTPCommand:commandBuffer
outData:NULL
sendCommandDelegate:self
didSendCommandSelector:@selector(didSendPTPCommand:inData:response:error:contextInfo:)
contextInfo:(__bridge void * _Nullable)(request)];
我试图传递“请求”的诅咒在哪里。 很久以前,我会通过保留/释放来管理这个 - 不再是。我现在该怎么办?
- 大卫
【问题讨论】:
标签: objective-c automatic-ref-counting exc-bad-access