2011-11-29 167 views
0

我想通过这种方式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]; 

如何做到这一点?在此先感谢。

回答

2

声明变量

NSString *_localStringtextnote; 

UploadViewController.h文件。

还要在同一个文件中为该变量添加一个属性。

@property(nonatomic,copy) NSString *localStringtextnote; 

在.m文件中,综合实现内部。

@synthesize localStringtextnote=_localStringtextnote; 

现在运行该应用程序。

+0

它可以与UIViewController * controllerNew = [[UploadViewController alloc] initWithNibName:@“UploadView”bundle:nil owner:self]; controllerNew.localStringtextnote = localStringtextnote; [self.navigationController pushViewController:controllerNew animated:YES]; [controller新版本]; – ICoder

+0

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

+0

声明'controllerNew'作为'UploadViewController'的对象而不是'UIViewController'。 – Ilanchezhian

-1

创建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]; 
+0

这没有任何意义,只有init方法应该像这样返回自己。调试器仍然会抱怨'setParams'方法是未知的,因为它没有在'UIViewController'类中声明。 – rckoenes

+0

然后在.h文件中声明它。我做了时间的混帐。 – SentineL

+0

你编辑的'UIViewController.h'你应该从'UIViewController'继承,不要编辑它的.h文件。 – rckoenes

1
 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

0

您必须声明localStringtextnote作为UploadViewController中的财产@property(nonatomic,retain)NSString * localStringtextnote;并合成.m文件。

相关问题