如何将值传递给另一个视图控制器?
问题描述:
我想通过这种方式localstringtextnote传递给Uploadviewcontroller,如何将值传递给另一个视图控制器?
UIViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self];
controllerNew.localStringtextnote = localStringtextnote;
[self.navigationController pushViewController:controllerNew animated:YES];
[controllerNew release];
,但我得到这个错误“@property localstringtextnote型的UIViewController对象不喜欢” 或 我想通过modalTransistionstyle
UploadViewController *aSecondViewController = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil];
aSecondViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:aSecondViewController animated:YES];
[UIView commitAnimations];
如何做到这一点?在此先感谢。
答
声明变量
NSString *_localStringtextnote;
在UploadViewController.h
文件。
还要在同一个文件中为该变量添加一个属性。
@property(nonatomic,copy) NSString *localStringtextnote;
在.m文件中,综合实现内部。
@synthesize localStringtextnote=_localStringtextnote;
现在运行该应用程序。
答
创建controllerNew的新方法(不要忘了声明它的* .h文件):
-(id) setParams:(NSString*)str {
localStringtextnote = [[NSString alloc] initWithString:str];
return self;
}
然后,当你需要北医三院这个视图控制器:
UploadViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self];
[self.navigationController pushViewController:controllerNew animated:YES];
controllerNew = [controllerNew setParams:localStringtextnote];
[controllerNew release];
答
UploadViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self];
controllerNew.localStringtextnote = localStringtextnote;
[self.navigationController pushViewController:controllerNew animated:YES];
[controllerNew release];
将您的uiview控制器更改为UploadViewController,因为uiview控制器没有任何属性localStringtextnote
答
您必须声明localStringtextnote
作为UploadViewController
中的财产@property(nonatomic,retain)NSString * localStringtextnote;
并合成.m
文件。
它可以与UIViewController * controllerNew = [[UploadViewController alloc] initWithNibName:@“UploadView”bundle:nil owner:self]; controllerNew.localStringtextnote = localStringtextnote; [self.navigationController pushViewController:controllerNew animated:YES]; [controller新版本]; – ICoder
UIViewController * controllerNew = [[UploadViewController alloc] initWithNibName:@“UploadView”bundle:nil owner:self]; controllerNew.localStringtextnote = _localStringtextnote; \t \t [self.navigationController pushViewController:controllerNew animated:YES]; \t \t [controllerNew release];同样的错误信息 – ICoder
声明'controllerNew'作为'UploadViewController'的对象而不是'UIViewController'。 – Ilanchezhian