首先,我對此進行了深入研究,未找到任何符合要求的內容。爲什麼我的字符串不會顯示在UIAlertView中
我的問題是這樣的:我有一個在Class1中創建的字符串屬性,然後合成如下所示。
@interface Class1 : UIViewController
{
NSString *testvar;
}
@property (nonatomic, retain) NSString *testvar;
@end
@implementation Class1
@synthesize testvar
- (void)viewDidLoad
{
[super viewDidLoad];
self.testvar = @"Test variable";
}
@end
此用於限定變量/屬性的值,因爲它的工作原理在通過相同的viewDidLoad
方法它是在定義顯示測試UIAlertView
正常工作。當其它類,類2,使得企圖檢索時發生該問題並使用該屬性。在第二類中使用的代碼如下:
Class1 *foo = [[Class1 alloc]init];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Title"
message:foo.testvar
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
[foo release];
什麼情況是,在顯示UIAlertView
,但一直沒有消息。我相信Class1 testvar屬性的值在Class2嘗試檢索它之前被釋放,或者我設置不正確。我這樣說是因爲我嘗試了同樣的事情,但使用int而不是NSString
。我將Class1的viewDidLoad
中int的值設置爲3,當顯示UIAlertView
時,它顯示了int的值,但顯示了「0」,即int的默認值,而不是我的設置值。
由於Objective-C相對較新,而且對內存管理還沒有很好的掌握,所以我認爲這個錯誤與我設置我的屬性值的方式或方式有關。任何洞察力將不勝感激。提前致謝。
現在的作品完美。非常感謝。 –