2011-01-27 9 views

답변

5

nil은 개체 자리 표시 자에 지나지 않습니다. Objective-C 객체 포인터를 할당 할 수 있습니다.

그래, NSDate * 유형의 변수를 nil에 할당 할 수 있습니다.

그러나 개체의 소유권이있는 경우 변수를 nil으로 설정하기 전에 -release 메시지를 보내야합니다. 그렇지 않으면 변수가 가리키는 메모리가 유출됩니다.

+0

은 ... 하나 더 의심을 주셔서 감사합니다. 문자열에서 빈 문자열을 문자열 변수에 할당 할 수 있습니다. 같은 NSString * s = @ ""; NSDate 변수의 경우 어떻게 빈 값을 할당 할 수 있습니까? –

+0

@Rajkanth'[NSDate date]'이면 충분합니다. –

+0

@ Rajkanth하지만 왜 이걸하고 싶습니까? –

3

은 ... 당신이 할 수있는 ...하지만 오토 릴리즈 객체가 아닌 경우 그것을 해제하는 것이 좋습니다

[dateObject release]; // Only if it is not autorelease object. 
dateObject = nil; 
+0

변수를 릴리스하면 메모리에서 제거됩니다. 그렇다면 우리는 어떻게 그것에 무언가를 할당 할 수 있습니까? –

+0

@Rajkanth 메모리가 할당 해제되었다고해서 포인터 참조가 아직 존재하지 않는다는 의미는 아닙니다. –

+0

정말 고마워요. –

관련 문제