2011-08-06 14 views
0

別のView Controllerから返された後にNSMutableStringがNULLになる理由を誰かが教えてもらえますか?NSMutableString別のView Controllerから返された後にNULLが返される

View Controllerをオンにしない限り、完全にうまく使用できます。しかし、もし私が別のビューコントローラを提示し、それを閉じます。 (私のNSMutableStringを持っている私のビューコントローラに私を連れてきて)突然のNULLのすべてを私はそれに追加することはできません。

このように、ViewDidLoadで初期化します。

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

私はそれを保持する必要がありますか何か(私はそれを試みましたが、doesntは動作するようです)。

+0

コンソールにメモリ警告が表示されていますか? –

+0

なぜ「」に別の文字列を追加していますか? – Legolas

+0

最初はこのticketToSendToServer = [[NSMutableString alloc] init]のような文字列を初期化していました。 しかし、私は上記の方法でそれを行うために読んでください。それが理由です。 @iコンソールにメモリ警告はありません。 – Louie

答えて

0

stringWithStringは、それが自動的に解放されたNSStringを返す便利なメソッドですプロパティとしてそれを宣言しています。つまり、次回Autoreleaseプールが排水されると、その保持カウントは減少します(-1)。これが便利だから、それを解放することを心配する必要はありません。

1の保持カウントを持っていますし、あなたがそれを終了したときに解放する必要があります
self.ticketsToSendToServer = [[NSMutableString alloc] initWithString:@""]; 

:しかし、あなたのケースでは私はあなたが試してみたいかもしれないと思います。

0

@property(nonatomatic、copy)NSString * ticketsToSendToServer;

あなたは

+0

はい.hで合成されて合成されました – Louie

関連する問題