我有一個UIViewController控制Xcode中的幾個不同的視圖。我想使用當前視圖中的信息在傳入視圖上設置標籤。我知道標籤和其他UI元素在視圖加載時會重置,但我的非UI @property
也被設置爲零。在同一viewController中加載另一個視圖清除非UI屬性
這裏是我的財產:
@property (strong, nonatomic) NSString* username;
這裏是設置它的代碼:
//NSLog(@"%@",dict);
if ([dict[@"login"] intValue]){
[self performSegueWithIdentifier:@"JoinSuccess" sender:sender];
self.username = dict[@"user"];
下面是試圖使用它的代碼:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", self.username);
self.welcomeLabel.text = [NSString stringWithFormat:@"Welcome, %@",self.username];
}
我我試過之前和之後performSegueWithIdentifier
,但無論如何,當我嘗試t o在viewDidLoad
中引用它的值爲零。任何想法爲什麼它正在重設我的@property
?我的猜測可能是它創建了我的viewController的新實例。如果是這樣的話,我怎麼能通過所需的變量?
當第一次訪問UIViewController的視圖屬性時,會調用'viewDidLoad'。 – KudoCC 2015-01-21 06:18:01
將用戶名分配給viewDidload中的另一個字符串它將解決您的問題 – Sam 2015-01-21 06:30:09