Iphone 如何将值传递给其他视图控制器?
我想通过这种方式将localstringtextnote传递给UploadviewcontrollerIphone 如何将值传递给其他视图控制器?,iphone,Iphone,我想通过这种方式将localstringtextnote传递给Uploadviewcontroller UIViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self]; controllerNew.localStringtextnote = localStringtextnote; [self.n
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文件中声明): 然后,当需要放置此视图控制器时:
UploadViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self];
[self.navigationController pushViewController:controllerNew animated:YES];
controllerNew = [controllerNew setParams:localStringtextnote];
[controllerNew release];
将uiview控制器更改为UploadViewController,因为uiview控制器没有任何属性localStringtextnote您必须将
localStringtextnote
声明为UploadViewController
中的属性作为@属性(非原子,保留)NSString*localStringtextnote编码>并在.m
文件中进行合成。这没有意义,只有init方法应该像这样返回self。调试器仍会抱怨方法setParams
未知,因为它未在UIViewController
类中声明。然后在.h文件中声明它。我做了很多次。你编辑的UIViewController.h
应该继承自UIViewController
而不是编辑它的.h文件。你有什么问题?我甚至没有想过编辑SDK文件。我说的是他的UploadViewController.hYes您创建了UploadViewController.h
的一个实例,但是将它放在UIViewController
类型的变量中,这意味着编译器没有看到UploadViewController
的任何方法,只有UIViewController
的方法不包含setParams
方法。您给出的示例将进行编译,但警告方法setParams
未知。它是否可以与UIViewController*controllerNew=[[UploadViewController alloc]initWithNibName:@“UploadView”bundle:nil owner:self]一起使用;controllerNew.localStringtextnote=localStringtextnote;[self.navigationController pushViewController:controllerNew-animated:YES];[控制器新释放];UIViewController*controllerNew=[[UploadViewController alloc]initWithNibName:@“UploadView”捆绑包:nil所有者:self];controllerNew.localStringtextnote=\u localStringtextnote;[self.navigationController pushViewController:controllerNew-animated:YES];[控制器新释放];再次出现相同的错误消息,将controllerNew
声明为UploadViewController
的对象,而不是UIViewController
。是否存在任何问题,以便将其保留为UIViewController
的对象?
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];