/ / Analizator XCode podaje nieprawidłowy problem z „potencjalnym wyciekiem pamięci”? - iPhone, Xcode, wycieki pamięci

Analizator XCode podaje niewłaściwy problem "potencjalnej przecieki pamięci"? - iphone, xcode, wycieki pamięci

Piszę funkcję, taką jak poniżej, aby utworzyć CGPath:

+(CGPathRef)CGPathCreateRoundrect:(CGRect)rect radius:(CGFloat)radius {
CGMutablePathRef path = CGPathCreateMutable();
......
CGPathCloseSubpath(path);
return path;
}

Analizator mówi, że pierwsza linia kodu tworzy plikobiekt, który potencjalnie wyciekł. Ale chcę utworzyć nowy obiekt w tej funkcji i przenieść własność na dzwoniącego. Nazwa funkcji zawiera słowo kluczowe „Utwórz”. Czy to błąd „Analizatora”?

Odpowiedzi:

-1 dla odpowiedzi nr 1

Dzieje się tak, ponieważ zgodnie z interpretacją kompilatora plik +() metoda zawsze zwróci zmienną autoreleased, której nie ma w twoim przypadku.


3 dla odpowiedzi № 2

Analizator działa tutaj poprawnie. Własność jest przenoszona tylko za pomocą nazwanych metod copy, initlub jego odmianą.

Zwrócony obiekt powinien być autoreleased.