Ich habe ein ‚viewContoller‘ VC1 und einen Behälter Blick in es mit einem Tisch-View-Controller in VC1 eingebettet .iOS - wie der Zugriff auf eine Variable aus dem Behälter Ansicht zu erhalten und es zurück an den View-Controller passieren
Ich habe eine Variable namens Nummer, die sich nach der didSelectRowAtIndexPath
und Abzug mit didDeselectRowAtIndexRowPath
seit seiner Tabelle addiert.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
number += [[[self.sports objectAtIndex:indexPath.row] valueForKey:@"sportNumber"] intValue];
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
number -= [[[self.sports objectAtIndex:indexPath.row] valueForKey:@"sportNumber"] intValue];
}
Dieses „Nummer“ Wert gehört zu den eingebetteten Controller Tabelle, und ich muss es in VC1 zugreifen.
Zusätzlich wird die „Nummer“ Variable entsprechend ändert sich ständig, um es zu werden oder abgewählt und VC1 wissen muss, wenn dies geschieht, so hat es den aktualisierten Wert.
Ich habe seit Tagen eine Lösung gesucht, jede Hilfe wäre willkommen.
Danke für die Antwort. Ich habe es als eine globale Eigenschaft definiert, aber in der Tabellenansicht Controller. Also schlagen Sie vor, ich muss den Tabellenansicht-Controller unterklassifizieren und dann die didSelect- und didDeselect-Methoden in den viewcontroller anstatt in den Tabellenansicht-Controller verschieben, auf diese Weise kann ich darauf zugreifen? –
@ Tony.C Antwort mit der genauen Lösung geändert. –
Hey Prasad danke für die Antwort. Alles funktioniert execept self.VC.number in der Didselect-Methode. Es erkennt die Zahlenvariable nicht. Und für diese @property (nicht atomare, behalten) VC1 * VC; Ich ersetzte es durch @property (nichtatomare, behalten) UIViewController * VC; –