как скопировать строку из одного представления и отобразить ее в следующем представлении? (iphone) - PullRequest
0 голосов
/ 09 сентября 2011

Привет всем, я новичок в разработке для iPhone.

На самом деле я пытаюсь с некоторым примером приложения, где у меня есть textField в Viewcontroller и кнопку, когда я ввожу строку в текстовое поле и нажимаю кнопку, она должна отображать ту же строку в NextView.Так кто-нибудь может мне помочь при этом.

Я работал с переходом от одного представления к другому, но мне нужно скопировать строку из Viewcontroller1 в NextView

@ViewController1

-(IBAction)next
{
    NextView *Nview = [[NextView alloc]initWithNibName:@"NextView" bundle:nil];

    [self.view addSubview:Nview.view];    
}

Ответы [ 5 ]

4 голосов
/ 09 сентября 2011

Установите ивар в вашем NextView с именем "newString" , например, , затем передайте строку этому ивару из вашего первого контроллера.

Например, не проверено (и это один из многих способов сделать это) :

FirstView

NextView * next = [[NextView alloc] initWithNewString: myTextField.text];
[self.navigationController presentModalViewController: next animated: YES];

NEXTVIEW

@synthesize newString

-(id)initWithNewString:(NSString*)someString
{
    newString = someString;
    return self;
}

Затем на протяжении всего вашего NextView просто вызывайте newString везде, где вы хотите получить значение предыдущих представлений textField.

1 голос
/ 09 сентября 2011

Попробуйте это: при первом просмотре во время навигации:

    NextView *nav = [[NextView alloc] init];
    nav.textFieldValue = textField.text;        
    [self.navigationController pushViewController:nav animated:YES];

И в файле .h вашего NextView создайте свойство:

@property(nonatomic, retain) NSString *textFieldValue;

А в файле .m синтезируйте его следующим образом:

@synthesize textFieldValue;

Теперь вы можете использовать textFieldValue в классе NextView

PS: не забудьте выпустить его:)

1 голос
/ 09 сентября 2011
-(IBAction)next
{
    NextView *Nview = [[NextView alloc]initWithNibName:@"NextView" bundle:nil];

    Nview.string_Object=string_to_copy;//declare string_Object in NextView.h

    [self.view addSubview:Nview.view];    
}
0 голосов
/ 09 сентября 2011

Вот подход (не проверял, но должен работать)

Дайте вашему textField значение тега, как

textField.tag = 1;

и в NextView доступ к нему, как

UITextField *parentViewTextField = (UITextField*)[self.superview viewWithTag:1]
0 голосов
/ 09 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...