Mitglied 26876
Gast
Hey Jungs!
Ich sitze jetzt schon seit etwa einer Woche an einem Problem: Ich habe einen UITableView, in dem stehen Detail-Daten. Es geht jetzt darum, dass dort Cells liegen, die über ein Textfeld verfügen und ich die Daten aus dem Textfeld weiter an eine andere Klasse schicken will. Da ich aber immer eine andere Anzahl an Variablen und Bezeichnungen der Variablen und natürlich Werte habe, war das für mich sehr schwierig.
Ziel ist es, dass ich ein Array habe, wo jedes enthaltene Object so aussieht:
VariablenName (Trennzeichen, hat da wer eine gute Idee…?) VariablenWert, VariablenName Trennzeichen VariablenWert,…,nil. Wichtig, wenn der User den Wert ändert, muss ich den alten Wert im Array replacen!
Ich erzeuge durch ein Array die Cells mit den entsprechenden VariablenNamen.
Jetzt habe ich mal ein wenig rumexperimentiert, allerdings funktioniert das Ganze nicht wirklich. Es geht nur, wenn ich nur eine Variable habe, die nicht schon vorhanden ist.
Also mein Code: Funktioniert bei einer Variable, wenn mehr --> Exeption
(Kann ich grade nicht rekonstruieren, die Exeption, da Xcode jetzt keine ausgibt, sondern einfach das App crashen lässt…)
Gibt es eine viel schönere Idee dafür? Hat wer Erfahrung damit? Ich tu mich da wirklich sehr schwer!
Viel Dank fürs Lesen,
Jan
Ich sitze jetzt schon seit etwa einer Woche an einem Problem: Ich habe einen UITableView, in dem stehen Detail-Daten. Es geht jetzt darum, dass dort Cells liegen, die über ein Textfeld verfügen und ich die Daten aus dem Textfeld weiter an eine andere Klasse schicken will. Da ich aber immer eine andere Anzahl an Variablen und Bezeichnungen der Variablen und natürlich Werte habe, war das für mich sehr schwierig.
Ziel ist es, dass ich ein Array habe, wo jedes enthaltene Object so aussieht:
VariablenName (Trennzeichen, hat da wer eine gute Idee…?) VariablenWert, VariablenName Trennzeichen VariablenWert,…,nil. Wichtig, wenn der User den Wert ändert, muss ich den alten Wert im Array replacen!
Ich erzeuge durch ein Array die Cells mit den entsprechenden VariablenNamen.
Jetzt habe ich mal ein wenig rumexperimentiert, allerdings funktioniert das Ganze nicht wirklich. Es geht nur, wenn ich nur eine Variable habe, die nicht schon vorhanden ist.
Also mein Code: Funktioniert bei einer Variable, wenn mehr --> Exeption
(Kann ich grade nicht rekonstruieren, die Exeption, da Xcode jetzt keine ausgibt, sondern einfach das App crashen lässt…)
Code:
#pragma mark -
#pragma mark TextFieldMethods
- (void)textFieldDidEndEditing:(UITextField *)textField {
// Meine Variablen aus der Datenbank durchlaufen
for(NSString *valueName in array.values){
// Wenn die Variable aus der For-Schleife meinem aktuellem TextField entspricht
if ([array.values indexOfObject:valueName] == textField.tag){
// Einfach loggen, welche Variable welchen Wert hat
NSLog(@"%@ == %@", [array.values objectAtIndex:[array.values indexOfObject:valueName]], textField.text);
if ([valueArray count] == 0){
// String für Array bauen:
NSString *cacheString = [NSString stringWithFormat:@"%@\\ %@",[array.values objectAtIndex:[array.values indexOfObject:valueName]], textField.text];
// Wen das Objekt der zweiten For-Schleife noch nicht im Array vorhanden ist den Namen\Wert hinzufügen als Objekt
[valueArray addObject:cacheString];
NSLog(@"Variable noch nicht vorhanden");
}else{
// valueArray durchlaufen
for(NSString *nameOfValue in valueArray){
// Hilfsstring bauen für If-Abfrage
NSString *valueNameString = [array.values objectAtIndex:[array.values indexOfObject:valueName]];
// String für Array bauen:
NSString *cacheString = [NSString stringWithFormat:@"@%\%@",[array.values objectAtIndex:[array.values indexOfObject:valueName]], textField.text];
// Wenn durchlauf Variable aus der zweiten For-Schleife einer Variable in meinem Array entspricht
if ([valueNameString isEqualToString:nameOfValue]) {
// Objekt im Array durch das Neue ersetzen
[valueArray replaceObjectAtIndex:[valueArray indexOfObject:nameOfValue] withObject:cacheString];
NSLog(@"Variable schon vorhanden");
}else {
// Wen das Objekt der zweiten For-Schleife noch nicht im Array vorhanden ist den Namen\Wert hinzufügen als Objekt
[valueArray addObject:cacheString];
NSLog(@"Variable noch nicht vorhanden");
}
}
}
}else{
NSLog(@"Variable passt nicht");
// Wenn die Variable aus der For-Schleife meinem aktuellem TextField nicht entspricht
}
}
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"please make a calculation, try again…" forKey:@"outputTextNormal"];
[prefs synchronize];
}
Gibt es eine viel schönere Idee dafür? Hat wer Erfahrung damit? Ich tu mich da wirklich sehr schwer!
Viel Dank fürs Lesen,
Jan