【问题标题】:Transferring String from UIViewController using Segue使用 Segue 从 UIViewController 传输字符串
【发布时间】:2013-10-17 14:58:28
【问题描述】:

我正在做以下事情:

#ViewController1.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   NSLog(@"Transferring");

   guestViewController *controller = [segue destinationViewController];
   [controller.label isEqualToString:self.num_value.text];
}

但是,当视图加载时,文本不会贯穿或显示在标签中。我在过去的程序中已经这样做了,它在 Xcode 4 上也有效。但是,由于某种原因,在 Xcode 5 中它不适合我。为了在 Xcode 中进行这项工作,我还需要实现其他什么吗?

【问题讨论】:

  • 使用[controller.string isEqualToString:self.num_value.text];,您只是在比较两个字符串,并没有为任何东西分配任何东西
  • @micantox 所以你建议我把它改成“controller.label.text = self.num_value.text”?
  • 是的! isEqualToString 用于比较!不要赋值!
  • 等一下,不,您不能在加载视图之前将文本分配给标签
  • @Zack - 看看我的回答。

标签: ios objective-c uiviewcontroller segue


【解决方案1】:

将此添加到您的guestViewController 的头文件中:

@property (nonatomic, strong) NSString *value;

你的prepareForSegue 方法变成了这样:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   NSLog(@"Transferring");

   guestViewController *controller = [segue destinationViewController];
   [controller setValue : self.num_value.txt];
}

isEqualToString 用于比较!不用于赋值。

然后在你的 viewDidLoad 方法中,添加这个:

[textLabel setText : value];

【讨论】:

  • 那么标签的值只能通过字符串传递给视图控制器吗?我无法将值从标签转移到标签?
  • 你可以。您会看到重要的属性类型。您可以在 guestViewController 中声明 UILabel 属性。然后你可以说[controller setLabel : self.myLabel]
  • @Zack - 我回答你的问题了吗?
  • 是的,但是在选择正确答案之前让我在电脑上试一试!
  • 是的。但是尝试传递一个 NSString 值,而不是 UILabel。
【解决方案2】:
[controller.string isEqualToString:self.num_value.text];

isEquelToString 只检查controler.string 是否与self.num.value.text. 相同或不同

- (BOOL)isEqualToString:(NSString *)aString

返回一个布尔值,指示给定字符串是否相等 使用基于文字的 Unicode 比较发送给接收者。

阅读apple documentation

你可以像这样将你的字符串传递给另一个控制器:

guestViewController'sh 文件中:

@property (nonatomic, strong) NSString *theStringWhatYouWantToGet;

prepareForSegue:

controller.theStringWhatYouWantToGet  = self.num_value.text;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 2016-09-20
    相关资源
    最近更新 更多