通过 segue 将 NSString 值分配给 UI 标签文本

Assigning NSString value to a UI Label text through segue

所以我试图将一个字符串@"Welcome%@!" 标记到我的指针 *name,这样如果用户在 UI 标签文本上输入名称,它可以转到下一页并将问候语 "Welcome" 附加到名称上。我的代码如下:

@property (weak, nonatomic) IBOutlet UITextField *nameTextField;

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"setName:"]) {
    if ([segue.destinationViewController respondsToSelector:@selector(setName:)]) {
        NSString *name = self.nameTextField.text;
        [segue.destinationViewController performSelector:@selector
         (setName:) withObject:name];
    }
}
}
Next Page “Second View Controller.m” :

</code>@interfaceSecondViewController() @属性 (weak, nonatomic) IBOutlet UILabel *nameLabel; @implementation SecondViewController</p> <pre><code>-(void)setName: (NSString *)name { _name = name; self.nameLabel.text = self.name; }

任何人都可以告诉我如何输入一个字符串以便它与 (NSString *)name 一起被标记

谢谢

了解 Formatting String Objects。以下是我的回答:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"setName:"]) {
        if ([segue.destinationViewController respondsToSelector:@selector(setName:)]) {
            NSString *name = self.nameTextField.text;
            SecondViewController *secondCtrl = [segue destinationViewController];
            [secondCtrl setName:name];
        }
    }
}

在您的 SecondViewController 中:

@interface SecondViewController () 
@property (weak, nonatomic) IBOutlet UILabel *nameLabel; 
@end

@implementation SecondViewController

- (void)setName:(NSString *)name
{
    _name = name;
    self.nameLabel.text = [NSString stringWithFormat:@"Welcome %@", self.name];
}

@end