如何将字符串从一个uiviewcontroller传递给另一个uiviewcontroller

时间:2011-09-04 21:46:58

标签: iphone ios uitableview

我尝试了很多不同的东西,觉得我错过了一些非常小的东西......

我正在尝试将字符串传递给另一个视图控制器,但是当我NSLog它时,我得到一个返回(null)......

看到它的样子,我已经尝试了很多例子,我几乎准备好放弃......

//secondview.h
@interface SearchResultsViewController : UITableViewController {

    NSString *setRequestString;

}

@property (nonatomic, retain) IBOutlet NSString *setRequestString;

//secondview.m
//...
@synthesize setRequestString;
//...
- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"%@", setRequestString);
}


//firstview.m
//...
#import "secondview.h"
//...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Navigation logic may go here. Create and push another view controller.
    //--- Idendify selected indexPath (section/row)
    if (indexPath.section == 0) {
        //--- Get the subview ready for use
        secondview *sec = [[secondview alloc] initWithNibName:@"secondview" bundle:nil];
//...
        switch (indexPath.row)
        {
                case 0: sec.title = @"Manufacture";
                sec.setRequestString = [NSString stringWithString:@"yo"];
                break;
//...

等..

3 个答案:

答案 0 :(得分:1)

在要向其发送数据的类中声明一个方法,并从另一个类中调用此方法,并将数据作为方法的参数传递。如果你想保持它非常简单,你可以尝试使用NSUserDefaults。希望这可以帮助。快乐的编码.... :)

答案 1 :(得分:0)

你确定“switch(indexPath.row){case 0:”被调用了吗? 尝试在你的switch语句的情况下放置一个NSLog来确保它首先。

答案 2 :(得分:0)

首先,您使用的是非常罕见的对象名称; “setRequestString”应该更好地命名为“requestString”。否则,您的合成setter将被称为“setSetRequestString”。

- 休息,因为那是胡说八道,对不起,已经晚了;)----