0

AddNotesViewControllerClass の文字列の値を の Label に表示する際に問題に直面していDetailsOfPeopleViewControllerます。

私がやりたいのは、あるクラスに入力したものを別のクラスにUITextView表示することだけです。UILabel

ファイル内AddNotesViewController.h

   UITextView *txtView;

  @property(nonatomic,retain)IBOutlet     UITextView *txtView;

ファイル内AddNotesViewController.m

 @synthesize txtView;

この後、タブバーの項目「保存」をクリックすると、データベースに保存され、データベースに保存され、値も表示されますが、値が渡されません

DetailsOfPeopleViewController.

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{

        NSLog(@"Tabbar selected itm %d",item.tag);

       switch (item.tag) {
          case 0:

         appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];


        NotesTable *crashNotInvolvingObj11 = (NotesTable *)[NSEntityDescription       
    insertNewObjectForEntityForName:@"NotesTable" inManagedObjectContext:[appDelegate    managedObjectContext]];

        // CameraViewController *camera=[[CameraViewController alloc] init];
            crashNotInvolvingObj11.personNote=[NSString    stringWithFormat:@"%@",txtView.text];

        DetailsOfPeopleViewController *detail=[DetailsOfPeopleViewController alloc];
        detail.testPersonNotesStr  =[NSString stringWithFormat:@"%@",txtView.text];
        //(value of testPersonNotesStr is DISPLYING here... )
        [appDelegate saveContext];
        [detail release];

        break;
        ..................

     }

DetailsOfPeopleViewController.h

    NSString *testPersonNotesStr;
    UILabel *PersonNotesLbl;

     @property(nonatomic,retain)IBOutlet UILabel *PersonNotesLbl;
     @property(nonatomic,retain) NSString *testPersonNotesStr;

DetailsOfPeopleViewController.m

       @synthesize PersonNotesLbl;
       @synthesize  testPersonNotesStr;



      - (void)viewDidLoad
      {
         [super viewDidLoad];
            [PersonNotesLbl setText:testPersonNotesStr];

         NSLog(@"PERSON NOTE is........ %@",testPersonNotesStr);
           //(value of testPersonNotesStr is NOT DISPLYING here..... )

        }

どこで間違いを犯しているのか教えてください。

4

3 に答える 3

0

コードでいくつかのことを行うだけで、文字列が得られます

1:->

DetailsOfPeopleViewControllerをグローバルに宣言します。

つまり、.h

DetailsOfPeopleViewController *detail  

2:->

viewDidLoadでメモリに割り当てます

detail=[[DetailsOfPeopleViewController alloc] init];  

3:->

文字列プロパティを宣言してコピーするだけです

@property(nonatomic,copy) NSString *testPersonNotesStr;  

また

NSUserDefaultを使用してデータを送信できます

SetValue

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSString stringWithFormat:@"%@",txtView.text]; forKey:@"testPersonNotesStr"];
[defaults synchronize];

GetValue

testPersonNotesStr = [[NSUserDefaults standardUserDefaults] objectForKey:@"testPersonNotesStr"];
NSLog(@"PERSON NOTE is........ %@",testPersonNotesStr);  

私の答えに従ってください私はaddViewControllerにNSString値があり、DetailsViewControllerのUILabelにこの値を表示したいと思います

于 2012-11-28T13:23:54.703 に答える
0

プロパティにするので、 set メソッドを使ってみてください。また、値を設定する前に ViewControlelr を初期化する必要があります。そう:

DetailsOfPeopleViewController *detail=[[DetailsOfPeopleViewController alloc] init];
[detail setTestPersonNotesStr:[NSString stringWithFormat:@"%@",txtView.text]];

このビューを実際に表示する場所はわかりません。実際に値を表示するには、このビューの同じインスタンスを表示する必要があります。

于 2012-11-28T10:33:59.463 に答える
0

デリゲートを使用して値を渡す この参照を使用する

于 2012-11-28T10:35:13.850 に答える