【问题标题】:Transferring Data from One View to Another将数据从一个视图传输到另一个视图
【发布时间】:2012-11-01 02:31:26
【问题描述】:

我在一个视图控制器中有一个字符串,并试图将它的值转移到另一个视图控制器中的另一个字符串。这是我的代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  if ([segue.identifier isEqualToString:@"Check Mark Segue"])
    {
    NSLog(@"Transferring Data");
   RenewDrop *controller = segue.destinationViewController;;
   controller.transferData = self.renewString;
    }
}

我认为这会奏效,因为它看起来相当简单。但是,每当我 NSLog 下一个视图中的 transferData 字符串时,它都会显示它是(null)。

我在这里做错了什么?

编辑:

#RenewDrop.h

@interface RenewDrop : UITableViewController <UITableViewDelegate> {

NSString *transferData;
}

 @property (nonatomic, retain) NSString *transferData;


#RenewDrop.m

@implementation AutoRenewDrop
@synthesize transferData;

【问题讨论】:

  • 顺便说一句,我确实将 renewString 设置为在 -(viewDidLoad) 中有一个值
  • 您的目标视图控制器是否嵌入在导航控制器中?
  • 不,它没有嵌入导航控制器。
  • controller.transferData = self.renewString; 处放置一个断点并检查是否正在分配值。或者,尝试分配像这样的静态字符串 controller.transferData = @"test";
  • transferData 属性是 IBOutlet 吗?如果是这样,它将在加载视图时被覆盖。

标签: objective-c ios xcode storyboard


【解决方案1】:

好的,事情就是这样:我的 viewDidLoad 中有我没有看到的 Renew Drop 代码:

//AddReminder *controller = [[AddReminder alloc] init];
//self.transferData = controller.renewString;

一旦我这样做了,一切就像上面一样。

感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多