我有一个对象名称usr。我想更改视图,我想将其传递给新视图。我怎样才能传递这个对象?
RVUser *usr = [[RVUser alloc] init];
UIViewController* exampleController = [[exampleClass alloc] initWithNibName:@"RVListsController" bundle:nil];
if (exampleController) {
exampleController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:exampleController animated:YES];
if (exampleController.title == nil) {
NSLog(@"enters");
//exampleController.title = @"Revistas Destacadas";
}
[exampleController release];
}
}
答案 0 :(得分:1)
执行此操作的一种方法是在RVUser
上声明类型为exampleClass
的属性,并在创建exampleController
后将其分配给该属性。
答案 1 :(得分:0)
您应该在使用[self presentModalViewController:exampleController animated:YES];
RVUser *usr = [[RVUser alloc] init];
UIViewController* exampleController = [[exampleClass alloc] initWithNibName:@"RVListsController" bundle:nil];
if (exampleController) {
exampleController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
if (exampleController.title == nil) {
NSLog(@"enters");
//exampleController.title = @"Revistas Destacadas";
}
//TODO: Set exampleController properties, declared as @property (nonatomic, release) RVUser *passedUsr;
//exampleController.passedUsr = usr;
//[usr release];
[self presentModalViewController:exampleController animated:YES];
}
[exampleController release];
答案 2 :(得分:0)
您需要将ExampleController的实例声明为自定义UIViewController而不是UIViewController - 如果您调用不退出的方法/属性,这将为您提供代码完成和编译时警告。然后,更改exampleClass的定义(也请阅读命名约定指南)以获得RVUser类型的属性,如下所示:
@property (nonatomic, retain) RVUser *user;
在实施文件中:
@synthesize user;
现在,您可以在显示之前将对象传递给该控制器:
ExampleController.user = usr;
你真的应该阅读Apple开发者网站上的介绍指南,他们会介绍这个以及你想要编写iOS应用程序时需要知道的更多内容。