Iphone 如何将值传递给其他视图控制器?

Iphone 如何将值传递给其他视图控制器?,iphone,Iphone,我想通过这种方式将localstringtextnote传递给Uploadviewcontroller UIViewController *controllerNew = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil owner:self]; controllerNew.localStringtextnote = localStringtextnote; [self.n

我想通过这种方式将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文件中声明):

然后,当需要放置此视图控制器时:

    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];