【问题标题】:Assigning NSString value to a UI Label text through segue通过 segue 将 NSString 值分配给 UI 标签文本
【发布时间】:2016-03-26 20:07:04
【问题描述】:

所以我想有一个字符串 @"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” :

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

-(void)setName: (NSString *)name
{
    _name = name;
    self.nameLabel.text = self.name;

}

谁能告诉我如何输入一个字符串,以便将其与 (NSString *)name 一起标记

谢谢

【问题讨论】:

    标签: ios objective-c iphone nsstring


    【解决方案1】:

    了解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
    

    【讨论】:

    • 我尝试过,但我继续收到信号 SIGABRT 错误,你知道为什么吗?
    • 没关系,我发现了 SIGABRT 错误,但是您发布的示例没有附加欢迎字符串。
    • 哇,我明白了!非常感谢沙姆西丁。起初我失败了,因为我没有在上面的 setName:(NSString *)name 下的 -(void)viewDidLoad 部分下插入 NSString 部分。非常感谢您的提示!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多