0

我是 iOS 的初学者,我正在编写一些练习代码,其中我试图将字符串从一个选项卡传递到另一个选项卡,UITabViewController并使用标签在下一个选项卡中显示它。现在我传递消息的代码是:

-(IBAction)sendMessage:(id)sender
{
    MessageRecepientViewController * contoller = [self.tabBarController.viewControllers objectAtIndex:1];
    [contoller passString:_textField.text];
    self.tabBarController.selectedIndex = 1;
}

我在这里(在第二个视图控制器中)收到的文本为:

-(void) passString:(NSString *) str
{
    _string = str;
}

viewDidAppear,我正在这样做:

- (void) viewDidAppear:(BOOL)animated
{
    self.textLabel.text = [NSString stringWithString:_string];
    NSLog(@"did appear called, str = %@ and label text = %@", _string, self.textLabel.text);
}

并且日志显示字符串的值应该是传递的文本,但 textLabel.text 的值始终为空。

我已经尝试了我能想到的一切,从检查 UILabel 是否连接到textLabel插座到在 viewWillAppear 和 viewDidLoad 中编写代码,但到目前为止没有任何效果。字符串显示正确的值,但标签未更新。这里有什么问题?

4

1 回答 1

0

好的发现错误:

这是一个小错字:我声明IBOutlet为:

IBOutlet UILabel * textlabel;

和财产:

@property (nonatomic, strong) UILabel * textLabel;

并已将插座连接到textlabel并一直在更新textLabel。解决了这个问题,一切都很好!

于 2012-07-20T09:28:04.063 回答