Próbuję uzyskać tekst z widoku alertu i dodać go do mojej tablicy zmiennych do listy w widoku tabeli. Zdaję sobie sprawę, że istnieje podobne pytanie, które zostało opublikowane kilka miesięcy temu, ale nie rozumiem, jak wykorzystać tę odpowiedź.Uzyskiwanie tekstu z UIAlertView
-(IBAction)insert {
UIAlertView* dialog = [[UIAlertView alloc] init];
[dialog setDelegate:self];
[dialog setTitle:@"Enter Name"];
[dialog setMessage:@" "];
[dialog addButtonWithTitle:@"Cancel"];
[dialog addButtonWithTitle:@"OK"];
UITextField *nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[nameField setBackgroundColor:[UIColor whiteColor]];
[dialog addSubview:nameField];
[dialog show];
[data addObject:[nameField text]];
[mainTableView reloadData];
Jednak moja aplikacja ulega awarii, ponieważ mówi, że próbuję wstawić obiekt zerowy w indeksie 0. Co robię źle?
EDYCJA: OK Myślę, że brakuje mi metody obsługi alertów. Więc znalazłem to:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];
if([buttonTitle isEqualToString:@"Cancel"]) {
return;
}
else if([buttonTitle isEqualToString:@"Ok"]) {
[data addObject:nameField.text];
}
Teraz wystarczy podłączyć kawałki, ale nie wiem jak.
Moja aplikacja to aplikacja oparta na oknach. Czy to ma znaczenie? – Snowman
@ f-Prime Nie, to nie ma znaczenia. Przechodzimy przez hierarchię UIAlertView. –
OK, więc jak powinien wyglądać mój pełny kod? Moja metoda dodawania plus metoda clickedButtonAtIndex i powinna działać? Czy w metodzie dodawania muszę wywoływać clickedButtonAtIndex? Bo jak jest teraz, nie działa – Snowman