2011-03-23 4 views
0

많은 사람들이 NSString을 할당하고 해제한다는 것을 알았습니다.autoRelease. 왜 그리고 언제?

나는 autoRelease가 아닌 즉시 문자열을 공개한다는 이점을 알고 있습니다.

내 질문 :

  1. 효과적 수행하고 난 항상 할당하고 오토 릴리즈에 공개 선호 하는가?
  2. 무엇이 더 방대합니까? 즉시 할당하고 해제 한 다음 또는을 할당하고 사용하고 dealloc에서 해제하는 방식으로 다시 할당합니다.

은 모든 설명을 이해할 수 있습니다.

감사는 문제가되지 않습니다 대부분의 경우

샤니

답변

1
  1. . 코드를 더 간단하게 만들고 @ "문자열"바로 가기가 매우 우아하기 때문에 autorelease를 사용해야한다고 생각합니다.
  2. 기본 차이점은 릴리스가 발생하는 시점입니다. 내가 말했듯이, 대부분의 경우 그것은 어떤 차이를 만들지 않습니다. 출시 시간을보다 면밀히 관리하려면 자신의 NSAutoreleasePool 풀을 굴림으로써 자동 출시를 위해이를 수행 할 수 있습니다.
1

NSString을 다시 사용할 수있는 방법이 없습니다. NSMutableString 인스턴스를 재사용하면 재생성 속도가 약간 빨라지지만 그 차이는 볼 수 없습니다. 코드의 단순성과 유지 보수성에 중점을 둡니다.

당신의 질문은 [[NSString alloc] init] 또는 [NSString string]을 사용하는 것이 더 낫다고 생각합니다. 성능이 문제가되지 않는 한, 항상 가장 간단한 것을 선택하십시오. autoreleased 버전이 될 것입니다. 왜냐하면 스스로 풀어 놓을 필요가 없기 때문입니다.

관련 문제