2010-07-02 3 views

답변

15

개체를 배열에 추가하면 개체의 보유 개수가 1 씩 증가합니다. 배열에서 해당 개체를 제거하면 보유 개수가 1 씩 감소하여 균형을 유지합니다. 그러나 배열을 해제하면 모든 객체가 자동으로 릴리스 메시지를받습니다. 따라서 배열을 해제하기 전에 removeAllObjects를 호출 할 필요가 없습니다.

기술적으로이 두 가지 방법은 동일하지 않습니다. removeAllObjects를 호출하면 배열이 비게되고 모든 객체는 릴리스 메시지를 받지만 배열 자체는 여전히 해제되지 않습니다. 배열은 릴리스를 호출 할 때 해제됩니다.

+0

그렇다면 removeAllObjects를 호출 할 때 내 NSMutableArray가 해제되는 이유는 무엇입니까? – jowie

+0

이 경우 공개해서는 안됩니다. 다른 문제가있을 수 있습니다. 우리가 시도 할 수 있도록 몇 가지 코드를 게시 할 수 있습니까? – taskinoor

+0

는 나를 위해, 정말로 별났다. iOS 6, Xcode 4.5.1 – 3lvis

관련 문제