2012-11-28 2 views
0

Перед лицом проблемы при отображении значения строки AddNotesViewController класса в ярлыке DetailsOfPeopleViewController.Передача значения от одного класса другому классу

Все, что я хочу сделать, это то, что мы ввели в UITextView 1 класса, должно отображаться в другого класса.

В файле 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.....) 

     } 

Пожалуйста, наставит меня, где я делаю ошибку.

+0

Пожалуйста, вы можете сказать мне, что с помощью какой код вы перемещаетесь к DetailsOfPeopleViewController – Rajneesh071

ответ

0

Просто сделать несколько вещи в вашем коде вы познакомите вас строку

1: ->

Declair вашего DetailsOfPeopleViewController во всем мире.

i.e. in.ч

DetailsOfPeopleViewController *detail 

2: ->

в вашем viewDidLoad Alloc в памяти

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

Следуйте мой ответ i have NSString value in addViewController and i want to display this value in UILabel of DetailsViewController

+0

я только что сделал ур изменения, но никакого результата яр .. – suvarna

+0

где код, чтобы подтолкнуть к DetailsOfPeopleViewController, не означает, с помощью которого код вы собираетесь йо DetailsOfPeopleViewController – Rajneesh071

+0

некоторые другой класс - это имя PeopleHomeViewController, которое содержит представление таблицы, если мы нажмем на строку таблицыView, тогда он пойдет для DetailsOfPeopleViewController. – suvarna

0

Вы делаете его собственностью, поэтому, возможно, попробуйте использовать метод set. Кроме того, перед установкой значения необходимо инициализировать ViewControlelr. Итак:

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

И я не вижу, где вы на самом деле отобразить эту точку зрения, вы должны быть отображать один и тот же экземпляр этой точки зрения на самом деле увидеть значение.

Смежные вопросы