Hi Leute,
ich habe mal eine kleine Frage bei dir ich bei Google auf keine Lösung komme…...
Ich habe meinen ViewController (DatenweiterleitungViewController) und eine weitere Klasse (Messestand)
In der xib habe ich ein kleines User Interface angelegt. Hier können Länge und Breite eingetragen werden.
Ziel ist es das der User Länge und Breite eingibt und das dann anhand dieser Daten in der Klasse "Messestand" ein Grundraster erstellt wird.
Mit festen werten in "#define" (war zum testen) funktioniert nun alles soweit ganz gut.
Meine Code um die Daten an den Messestand zu übergeben:
Alles anzeigen
Die Subview "GrundrasterView" hat als Class "Messestand" verknüpft.
Messestand Code:
Alles anzeigen
Die NSLog Einträge sehen so aus das im ViewController die Daten alle richtig übergeben werden:
[Session started at 2014-12-19 12:42:32 +0000.]
2014-12-19 13:42:43.058 Datenweiterleitung[1815:b603] 3, 5
2014-12-19 13:42:43.060 Datenweiterleitung[1815:b603] 3.000000, 5.000000
aber in der Class Messestand nichts mehr vorhanden ist
2014-12-19 13:42:43.064 Datenweiterleitung[1815:b603] faktor: inf
2014-12-19 13:42:43.066 Datenweiterleitung[1815:b603] Länge: (null)
2014-12-19 13:42:43.067 Datenweiterleitung[1815:b603] Breite: (null)
Wo habe ich hier den Denkfehler ?
Wie kann ich Daten die ein User eingegeben hat in eine andere Klasse übertragen ?
Oder muss ich dann in der IBAction die Methode "drawRect aufrufen und da dann die Parameter übergeben ?
ich habe mal eine kleine Frage bei dir ich bei Google auf keine Lösung komme…...
Ich habe meinen ViewController (DatenweiterleitungViewController) und eine weitere Klasse (Messestand)
In der xib habe ich ein kleines User Interface angelegt. Hier können Länge und Breite eingetragen werden.
Ziel ist es das der User Länge und Breite eingibt und das dann anhand dieser Daten in der Klasse "Messestand" ein Grundraster erstellt wird.
Mit festen werten in "#define" (war zum testen) funktioniert nun alles soweit ganz gut.
Meine Code um die Daten an den Messestand zu übergeben:
Quellcode
- -(IBAction)transfer:(id)sender {
- NSString *varlaenge = eingabelaenge.text;
- NSString *varbreite = eingabebreite.text;
- Messestand *messestand = [[Messestand alloc] init];
- messestand.laenge = [varlaenge floatValue];
- messestand.breite = [varbreite floatValue];
- ausgabelaenge.text = [NSString stringWithFormat:@"%.1f",messestand.laenge];
- ausgabebreite.text = [NSString stringWithFormat:@"%.1f",messestand.breite];
- NSLog(@"%@, %@",varlaenge ,varbreite);
- NSLog(@"%f, %f",messestand.laenge ,messestand.breite);
- [self.view endEditing:YES];
- [self.view addSubview:GrundrasterView];
- }
Die Subview "GrundrasterView" hat als Class "Messestand" verknüpft.
Messestand Code:
Quellcode
- @implementation Messestand
- @synthesize laenge,breite;
- - (id)initWithFrame:(CGRect)frame {
- self = [super initWithFrame:frame];
- if (self) {
- }
- return self;
- }
- - (void)drawRect:(CGRect)rect {
- int x1;
- faktor = 450 / breite;
- x1 = faktor * laenge;
- if (x1 > 300) {
- faktor = 300/laenge;
- }
- NSLog(@"faktor: %f", faktor);
- NSLog(@"Länge: %@", laenge);
- NSLog(@"Breite: %@", breite);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSetLineWidth(context, 1.0);
- CGContextSetStrokeColorWithColor(context, [UIColor grayColor].CGColor);
- CGContextSetLineWidth(context, 2.0);
- CGRect rectangel = CGRectMake(10, 10, breite*faktor, laenge*faktor);
- CGContextAddRect(context, rectangel);
- CGContextStrokePath(context);
- CGContextSetLineWidth(context, 1.0);
- for (int i = 1; i < breite; i++) {
- CGContextMoveToPoint(context, (i*faktor)+10, 10);
- CGContextAddLineToPoint(context, (i*faktor)+10, laenge*faktor+10);
- CGContextStrokePath(context);
- }
- for (int i = 1; i < laenge; i++) {
- CGContextMoveToPoint(context, 10, (i*faktor)+10);
- CGContextAddLineToPoint(context, breite*faktor+10, (i*faktor)+10);
- CGContextStrokePath(context);
- }
- }
- - (void)dealloc {
- [super dealloc];
- }
- @end
Die NSLog Einträge sehen so aus das im ViewController die Daten alle richtig übergeben werden:
[Session started at 2014-12-19 12:42:32 +0000.]
2014-12-19 13:42:43.058 Datenweiterleitung[1815:b603] 3, 5
2014-12-19 13:42:43.060 Datenweiterleitung[1815:b603] 3.000000, 5.000000
aber in der Class Messestand nichts mehr vorhanden ist
2014-12-19 13:42:43.064 Datenweiterleitung[1815:b603] faktor: inf
2014-12-19 13:42:43.066 Datenweiterleitung[1815:b603] Länge: (null)
2014-12-19 13:42:43.067 Datenweiterleitung[1815:b603] Breite: (null)
Wo habe ich hier den Denkfehler ?
Wie kann ich Daten die ein User eingegeben hat in eine andere Klasse übertragen ?
Oder muss ich dann in der IBAction die Methode "drawRect aufrufen und da dann die Parameter übergeben ?
Wenn Dich alles verlässt kommt das allein sein.
Wenn Du alles verlässt kommt die Einsamkeit.
Wenn Du alles verlässt kommt die Einsamkeit.