.m文件,我正在尝试设置message
变量:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SingleMessageViewController* vc = (SingleMessageViewController*)[self.storyboard instantiateViewControllerWithIdentifier:@"SingleMessageViewController"];
vc.message = [tableView cellForRowAtIndexPath:indexPath].textLabel.text;
[self.navigationController pushViewController:vc animated:true];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
视频控制器的.h文件我正在实例化:
@interface SingleMessageViewController : POSCommonViewController
{
NSString *message;
}
@property (nonatomic, retain) NSString *message;
@end
视频控制器的 .m文件我正在实例化(仅viewDidLoad
方法):
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@", self.message);
}
引用的最后一个文件中的 NSLog
返回nil(查看加载没有任何问题)。我试过改变属性等等 - 没有什么对我有用。这可能是什么问题?
答案 0 :(得分:0)
所选单元格的textLabel
属性可能为零。使用中间字符串变量来获取单元格的文本,然后将消息设置为该文本。当您逐步调试调试器中的第一个方法时,它会让您更容易看到消息。
答案 1 :(得分:-1)
不可行。您在第一个控制器内创建控制器的对象,并为该特定对象设置属性。那么如何在新控制器对象中访问它?为此,您可以使用以下方法:
1.您可以在第二个视图控制器中覆盖initWithMessage:(NSString *)message
2.您可以在appDelegate类中添加该属性。这将通过应用程序共享。
3.但如果你想在课堂上分享任何东西,最好的方法是制作单身课程。