Następująca metoda pomocnicza klasy singleton (SharedManager) może powodować zatrzymanie cyklu. Otrzymywanie ostrzeżeń w analizatorze statycznym: "Potencjalny wyciek obiektu przydzielonego w linii ..." Jak mogę to naprawić?Napraw potencjalny wyciek pamięci w ARC
Próbowałem zrobić ivar uuid __weak, ale ostrzeżenie nadal pojawia się, gdy analizuję.
NSString *__weak uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
Dzięki
miano w klasie tak:
myUUID = [SharedManager generateUUID];
+ (NSString *)generateUUID
{
CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuid = (__bridge NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
CFRelease(uuidObject);
return uuid;
}
Peter, tak, tak. Dzięki. Musisz zrozumieć, o co w tym wszystkim chodzi: __bridge_transfer. – Slinky
Zobacz http://clang.llvm.org/docs/AutomaticReferenceCounting.html#objects.operands.casts –
Perfect. Dzięki – Slinky