jestem coraz nieco zirytowany o niektórych obiektów jest autoreleased bez mojej wiedzy. Pewnie to dobrze, ale jeśli tak, chcę to wiedzieć. Dokumentacja nie określa, które metody autorelease obiektów, więc zwykle testuję moją drogę, która moim zdaniem jest głupia. Na przykład [data NSDate] autoreleaseuje obiekt, podobnie jak [NSArray arrayWithObjects: ...]. Skąd wiesz bez dokumentacji, która ci mówi?Jak sprawdzić, czy obiekt jest autoreleased, czy nie?
zaczynam widzieć wzór jednak, że metody, takie jak te, te, które tworzą obiekty z funkcją statycznego, zawsze zwraca autoreleased obiekt. Czy to zawsze prawda?
Wierzę, że masz na myśli "metodę klasy" (w przeciwieństwie do "metody instancji") zamiast "funkcji statycznej". Jak wyjaśniono poniżej, +/- nie określa, czy zwracany obiekt jest autoreleased, jest to kwestia konwencji i prostych zasad. Większość metod zwraca obiekty, które musisz zachować - metody, które zwracają obiekt z liczbą zachowań +1, są raczej wyjątkiem, niż regułą. –
Metoda klasowa, którą miałem na myśli. Użyłem "static" z terminologii java iz jakiegoś powodu "funkcji", choć powinno to być "metoda". W każdym razie są tak samo w pamięci. :) – quano