0

セグエを使用してテキストフィールドから文字列を渡そうとしていますが、常に nil になります

MasterViewController.h:

#import <UIKit/UIKit.h>

@interface MasterViewController : UIViewController <UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextField *symptomTextField;

@end

MasterViewController.m

#import "MasterViewController.h"
#import "DiseaseResultsViewController.h"
@interface MasterViewController ()

@end

@implementation MasterViewController



- (void)viewDidLoad
{
    [super viewDidLoad];

    self.title = @"My Symptoms Book";

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];

}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    if ([[segue identifier] isEqualToString:@"searchFunctionSegue"])
    {
        if ([self.symptomTextField.text length])
        {
            DiseaseResultsViewController *resultsViewController = [segue destinationViewController];
            resultsViewController.symptomSearchString = self.symptomTextField.text;
        }
    }

}


@end

DiseaseResultsViewController.h

#import <UIKit/UIKit.h>

@class MySymptomsBookDataController;

@interface DiseaseResultsViewController : UITableViewController

@property (nonatomic, strong) NSString *symptomSearchString; 

@property (nonatomic, strong) MySymptomsBookDataController *dataController;


@end

ところで、私は NSString と NSMutableString の両方でこれを試しましたが、うまくいきませんでした

次に、simpmentSearchString を使用してデータ コントローラーを作成します。

- (void)awakeFromNib
{
    [super awakeFromNib];

    self.dataController = [[MySymptomsBookDataController alloc] initDMySymptomsBookDataControllerFromJsonDataWithSymptom:symptomSearchString];
}

しかし、文字列が nil であるため、クラッシュします。任意のヒント?

4

2 に答える 2

0

変数を @synthesize しましたか? .m で

于 2013-10-12T04:09:14.800 に答える
0

宛先ビューコントローラーのアウトレットをいじらないでください。代わりに、NSString プロパティを宛先に追加し-prepareForSegue:、それを に設定して-viewDidAppearから、宛先コントローラーでその値を使用して UI に入力します。

于 2013-10-11T22:15:36.680 に答える