【发布时间】: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