Ich habe eine Tabellenansicht. Wenn auf eine Tabellenansichtszelle geklickt wird, wird ein bestimmter Textlabelwert ausgewählt. In der Datei APIRequest.m habe ich eine Variable shipmentReferenceNo
, deren Wert als dictSelectRowAtIndexPath als Textlabel-Wert zugewiesen wird.Kann keine Werte über didSelectRowAtIndexPath übergeben
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
tabBar = [self.storyboard instantiateViewControllerWithIdentifier:@"TabBarController"];
[self.navigationController pushViewController:tabBar animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UILabel *label = (UILabel *)[cell viewWithTag:123123];
self.request = [[APIRequest alloc]init];
self.request.shipmentReferenceNo = label.text;
NSLog(@"hello %@", label.text);
}
Wenn im Versuch, die shipmentReferenceNo zugreifen wie aus APIRequest.m Datei folgt wie folgt, seine Null
NSLog(@"sd %@",self.shipmentReferenceNo);
was möglicher Grund für diesen Null-Wert sein könnte, obwohl ich es vorher zugewiesen habe in didSelectRowAtIndexPath
?
liegt daran, dass Sie eine neue Instanz erneut erstellen. self.request = [[APIRequest alloc] init]; Sie entfernen es einfach.Wie Sie bereits selb.request als Eigenschaft deklariert haben, müssen Sie auch nach self.request.shipmentReferenceNo suchen und nicht nach self.shipmentReferenceNo –
Ich habe es versucht, aber immer noch mit dem gleichen Problem – user1241241
setzen Sie einen Haltepunkt in didSelect-Methode und versuchen Sie, den Wert von self.request im Debugger zu drucken. –