NSString
과 NSMutable
문자열 사용 사이에 혼란 스럽습니다. 은 가정하자 나는이 같은 클래스에서 선언 된 인스턴스 변수 하나, 둘 있습니다NSMutableString 대 NSString의 사용?
NSString *one;
NSMutableString *two;
우리가 내가 만든 세터와 속성을 사용하여의 게터가 있다고 가정하자.
1. [two appendString:@"more string"];
2. two = @"string"
3. self.two = @"string"
질문 :
것 1 라인 출시 이전 문자열을 새로운 객체를 할당하고 여기에 값을 할당
내가이처럼 내 "이"문자열을 변경 말할 수 있습니다. 그렇다면 그렇다면 Getter 및 Setter를 만드는 것은이 경우에 불필요한 것입니까? 또는 속성을 생성 할 필요가 없습니다.
NSMutablestring
이 경우 이전에 할당 된 문자열 개체가 해제됩니까?
- 우리가 여기서 setter를 호출 할 때 첫 번째 객체가 해제 될 것입니다. 이 코드가 필요하거나 코드 줄 2를 사용하여 문자열을 지정할 수 있습니다.
자에 대한 NSString
: NSMutablestring
또는 NSString
를 사용하여 더 나은
one = [one stringByAppendingString:@" more string"];
self.one = [one stringByAppendingString:@" more string"];
: 으로는이 같은 문자열을 수정할 수 있습니다?
오랫동안 미안하지만 이러한 개념을 이해해야했습니다. 질문의 첫 번째 부분에 대한
정말 좋은 통찰력. 하나의 Ques : NSString에서 stringBy 메서드를 사용하고 메모리가 런타임 자체로 관리되는 경우 NSString의 속성을 만들어야합니까? 이 경우 등록 정보 생성 작업이 불필요합니까? – user1374408
어떤 속성을 만들려고합니까? –
nonatomic, retain – user1374408