Estoy tratando de enviar una cadena desde mi TableViewContoller a mi LabelViewController en didSelectRowAtIndexPath. La cadena es el número de la fila en mi tabla. En LabelViewController.h tengo mi propiedad UILabel llamada * rowNumberLabel.
En mi TableViewController, intento establecer el texto de la etiqueta en didSelectRowAtIndexPath con el siguiente código:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.rowNumber = indexPath.row;
self.numberString = [NSString stringWithFormat:@"%lu", self.rowNumber];
LabelViewController *labelViewController = [[LabelViewController alloc] init];
NSLog(@"The row number is %@", self.numberString);
labelViewController.rowNumberLabel.text = self.numberString;
[self.navigationController pushViewController:labelViewController animated:YES];
}
Estoy muy seguro de que estoy revisando algo simple, pero no puedo entender por qué el texto de la etiqueta no se configura cuando presiono labelViewController. Gracias por la ayuda.
2 respuestas
La razón es que rowNumberLabel
no está conectado justo después de inicializar LabelViewController
.
- Cree una propiedad en
LabelViewController
y asignenumberString
a esa propiedad. - En
LabelViewController
asigna la propiedad a la etiqueta enviewDidLoad
.
En TableViewcontroller
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.rowNumber = indexPath.row;
self.numberString = [NSString stringWithFormat:@"%lu", self.rowNumber];
LabelViewController *labelViewController = [[LabelViewController alloc] init];
NSLog(@"The row number is %@", self.numberString);
labelViewController.labelstring = self.numberString;
[self.navigationController pushViewController:labelViewController animated:YES];
}
En LabelViewController .h File
@property(nonatomic,strong)NSString * labelstring;
Archivo .m
- (void)viewDidLoad {
[super viewDidLoad];
self.rowNumberLabel.text = labelstring;
}
Nuevas preguntas
ios
iOS es el sistema operativo móvil que se ejecuta en el iPhone, iPod touch y iPad de Apple. Use esta etiqueta [ios] para preguntas relacionadas con la programación en la plataforma iOS. Use las etiquetas relacionadas [Objective-C] y [Swift] para problemas específicos de esos lenguajes de programación.