2011-02-01 91 views
0

在我的應用程序中,我接受一個UITextField值並對其進行修剪並分配給一個字符串在Appdelegate中聲明的變量。它賦值給一個appdelegate變量並且工作正常,有時它不會賦值給appdelegate變量(這個值在另一個視圖中使用,所以在appdelegate中聲明)。 Plz幫助...字符串值不能分配給iPhone中的字符串變量?

NSString *txtTemp=[NSString stringWithFormat:@"%@",[txtName.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 
txtName.text=txtTemp; 
[self appDelegate].customSearchQuery=[NSString stringWithFormat:@"%@",txtTemp]; 

NSLog(@"--appDelegate.customSearchQuery =%@",appDelegate.customSearchQuery); 
+0

確保`appDelegate`變量被初始化('的appDelegate = [[UIApplication的sharedApplication]代表]`)你在做上述操作之前。 – EmptyStack 2011-02-01 08:53:00

回答

1

這很可能是內存管理問題。 NSString創建一個自動釋放對象。如果您想在上面顯示的方法外使用它,您將必須使用retain。最簡單的事情就是在你的Appdelegate.h中刪除

@property (nonatomic, retain) NSString *customSearchQuery; 

。這應該夠了吧。

在appdelegate的dealloc-method中,你需要釋放它 - 否則你會泄漏NSString;與上面的聲明,你將添加

customSearchQuery = nil;