1

textboxpickerviewおよびUIButton(ラジオボタンとして機能する)のビューがあります。submit をクリックするUIButtonと、ユーザーが入力した詳細が、tableView. navigationControllerで別のビューをナビゲートするために使用していtableviewます。view1ナビゲーションは正常に機能しますが、そこに入力されたデータをテーブルビューでも表示するにはどうすればview2よいですか? 以下は私のコードです:.m

- (void) goToViewTwo
{
   tableViewController *viewTwo = [[tableViewController alloc] initWithNibName:@"tableViewController" bundle:[NSBundle mainBundle]];

   self.tabView = viewTwo;

   [self.navigationController pushViewController:self.tabView animated:YES]; 
}

データを tabView に割り当てるにはどうすればよいですか?

tableViwController の .h を含めるように編集

    #import <UIKit/UIKit.h>

@interface tableViewController : UIViewController
@property(nonatomic,retain)NSString *name;
@property(nonatomic,retain)UILabel *lbl;
@property (strong, nonatomic) IBOutlet UILabel *textLabal;

@end
4

4 に答える 4

2

プロパティ @property 機能を使用できます。

view2.h のように

@property(nonatomic,retain)NSString *name;

view2.mで

@synthesize name;

あなたの見解で1.m

  - (void) goToViewTwo
{

    tableViewController *viewTwo = [[tableViewController alloc]  initWithNibName:@"tableViewController" bundle:[NSBundle mainBundle]];

    self.tabView = viewTwo;
    viewTwo.name=textbox.text;
[self.navigationController pushViewController:self.tabView animated:YES];

}

お役に立てれば....

于 2013-01-09T05:51:32.633 に答える
2

あなたがやっているのと同じように、次のView Controllerをプッシュする前にプロパティを設定してください。たとえば、viewTwo で viewOne のテキストを表示するには、viewTwo に textFromViewOne のような文字列プロパティが必要です。

tableViewController *viewTwo = [[tableViewController alloc] initWithNibName:@"tableViewController" bundle:[NSBundle mainBundle]];

// assume this vc has an outlet to it's text field called viewOneTextField
viewTwo.textFromViewOne = viewOneTextField.text;

// not sure why you're saving a ref to this new vc, when do you use it?
self.tabView = viewTwo;

// you don't need it here    
[self.navigationController pushViewController:viewTwo animated:YES];

2 番目の VC では、プロパティに格納されているデータを表示する UIControls を含めることができます。テキストの例を続けます...

// assume you know how to create properties on the "tableViewController" class (not a great name, btw)

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // assume you have a label called label
    label.text = self.textFromViewOne;
}
于 2013-01-09T05:56:09.240 に答える
1

tableViewControllerにいくつかのプロパティを設定する必要があります。したがって、文字列を通過させる場合。tableViewControllerの.hファイルには次のものが含まれます。

 @property (nonatomic, retain) NSString *mystring;

この文字列も.mファイルで合成します。

@synthesize mystring; 

次に、上記のコードを呼び出すことができます

viewTwo.mystring = @"some value to pass through";

これにより、self.mystringを呼び出して、tableViewControllerで渡した値にアクセスできます。それがいくつかの助けになることを願っています。

于 2013-01-09T05:50:07.533 に答える
0

tabView.h クラスでレシーバー メソッドを作成します。

-(init) GetData:(NSString *)textboxString ピッカー:(NSString *)pickerValue;

Intance 変数を作成してデータを受け取る

NSString *str1 NSString *str2

tabView.m で

-(init) GetData:(NSString *)textboxString picker:(NSString *)pickerValue
{
     str1 = [textboxString copy];
     str2 = [pickerValue copy];

     return self;
}

-(void) goToViewTwo メソッドに

tabtwo クラスで作成したメソッドを呼び出します

[viewTwo init:textboxString picker:pickerValue];
于 2013-01-09T06:06:46.810 に答える