2010年8月7日土曜日

NSString の値設定

NSStringの値を設定する場合、メモリ管理を考慮してセットしなくてはなりません。


クラス内共通のNSStringを作る場合は、ヘッダファイルでretainのプロパティ宣言をした上で
@systhesize、dealloc等で解放をコーディングした上で、以下の記載で設定するようです。

これでメモリーリークが無くなりました。他にいい方法があるのかなぁ。
しかし、こんなことをしなくても、簡単にセットする方法を提供してほしい・・・・


-------*.h------------
@interface xxxxViewController : UIViewController {
NSString *Reg1;

}
@property (nonatomic, retain) NSString *Reg1;
@end

-------*.m------------
@implementation xxxxViewController
@synthesize Reg1;

- (void) setReg1:(NSString *)value{
if (Reg1 != value) {
[Reg1 release];
Reg1 = [[NSString alloc] initWithString:value];
}
}

- (void)viewDidUnload {
self.Reg1 = nil;
}

- (void)dealloc {
[Reg1 release];
}
--------------

呼び出し方:

[self setReg1:string];



0 件のコメント:

コメントを投稿