Я уверен, что статический анализатор, вероятно, прав в этом случае, но я не совсем понимаю, почему ...
Вот фрагмент кода из класса UUID:
@interface UUID {
CFUUIDRef uuidRef;
}
@end
@implementation UUID
- (id) initWithString:(NSString*)string {
if (string && [NSNull null] != (NSNull*)string)
return [self initWithCFUUID:CFUUIDCreateFromString(kCFAllocatorDefault, (__bridge CFStringRef) string)];
else
return nil;
}
- (id) initWithCFUUID:(CFUUIDRef)uuidRef {
if (self = [super init]) {
self->uuid = uuidRef;
}
return self;
}
@end
Xcode сообщил об утечке в строке 'return' в первом init. Скриншот можно найти здесь .
У меня есть базовые представления о bridge, bridge_retain и bridge_transfer, но я считаю, что в этом случае правильный выбор - мост.
Если мое понимание верно, может кто-нибудь посоветовать, правильно ли я это делаю? Кроме того, как мне решить эту проблему?
С уважением,
Ник