2011-08-06 6 views
0

누군가 다른 뷰 컨트롤러에서 반환 된 후 왜 NSMutableString이 NULL이 될지 알 수 있습니까?NSMutableString 다른 뷰 컨트롤러에서 돌아온 후 Null

완전히 괜찮아요. View Controller를 켜 놓지 않는 한 사용할 수 있습니다. 하지만 만약 내가 다른보기 컨트롤러를 제시하고 다음을 닫습니다. (내 NSMutableString있는 내보기 컨트롤러 다시 데려 오) 모든 갑자기 NULL 및 나는 그것에 추가 할 수 없습니다.

ViewDidLoad에서 이와 같이 초기화합니다.

//initialize mutable string 
self.ticketsToSendToServer = [NSMutableString stringWithString:@""]; 

보유해야 할 것인가 (예 : 시도했지만 작동하지 않는 것).

+0

콘솔에 메모리 경고가 표시됩니까? –

+0

다른 문자열을 ""에 추가하는 이유는 무엇입니까? – Legolas

+0

처음에이 ticketToSendToServer = [[NSMutableString alloc] init]과 같은 문자열을 초기화했습니다. 그런 다음 위에 게시 한 방식으로 읽으십시오. 그게 왜. @i 콘솔에 메모리 경고가 없습니다. – Louie

답변

0

속성으로 선언해야합니다. 다음 번에 Autorelease 풀이 비게되면 보유 수는 감소합니다 (-1). 이것이 편리하기 때문에, 당신은 그것을 풀어 놓는 것에 대해 걱정할 필요가 없습니다. 그러나 귀하의 경우에 당신이 시도 할 수 있습니다 생각 : 작업을 종료 할 때 하나의 유지 수를해야하고 필요합니다

self.ticketsToSendToServer = [[NSMutableString alloc] initWithString:@""]; 

이 해제 될 수 있습니다.

0

@property (무자격, 사본) NSString * ticketsToSendToServer;

는 stringWithString이 자동 해제입니다있는 NSString을 반환하는 편리한 메소드입니다

+0

예 .h에서 합성 후 합성 됨 – Louie

관련 문제