Wie bekomm ich den return wert einer Klassenmethode in eine andere Klasse?

M

manilein123

Registriert
Thread Starter
Dabei seit
06.10.2009
Beiträge
4
Reaktionspunkte
0
Hallo Leute,

hoffe der Titel sagts schon :)


ich habe eine Klasse die schimpft sich XMLParser.c

da gibt es ne statische Variable
static NSUInteger typeCount = 0;

und eine Klassenmethode: (private)
+(int)increaseType {
typeCount = typeCount +1;
return typeCount;
}

diese rufe ich während des parsens auf um etwas halt zu zählen

ich habe nun eine andere Klasse
diese soll mir halt den RETURN typeCount geben bei den TableViews...

Klasse XYZ
#import "XMLParser.h"
...

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Reihenanzahl: %d", [XMLParser typeCount]); //geht nicht
return typeCount; //geht auch net
}
das geht nicht ich bekomme immer einen Stack Error

Wie komme ich nun auf den Wert von typeCount?


In der XMLParser.h ist das ja ganz einfach
NSLog(@"Zack: %d", typeCount);

Aber in der Klasse XYZ geht das nicht mehr

kann mir jemand sagen was ich vergessen hab?
 
1. Code-Tags
2. Notwendige Informationen
3. Einführende Literatur

























4. Mutmaßlich, die Klassenmethode in den Header zu nehmen.
 
  • Gefällt mir
Reaktionen: _ebm_
Hallo Leute,

hoffe der Titel sagts schon :)


ich habe eine Klasse die schimpft sich XMLParser.c

da gibt es ne statische Variable
static NSUInteger typeCount = 0;

und eine Klassenmethode: (private)
+(int)increaseType {
typeCount = typeCount +1;
return typeCount;
}

diese rufe ich während des parsens auf um etwas halt zu zählen

ich habe nun eine andere Klasse
diese soll mir halt den RETURN typeCount geben bei den TableViews...

Klasse XYZ
#import "XMLParser.h"
...

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Reihenanzahl: %d", [XMLParser typeCount]); //geht nicht
return typeCount; //geht auch net
}
das geht nicht ich bekomme immer einen Stack Error

Wie komme ich nun auf den Wert von typeCount?


In der XMLParser.h ist das ja ganz einfach
NSLog(@"Zack: %d", typeCount);

Aber in der Klasse XYZ geht das nicht mehr

kann mir jemand sagen was ich vergessen hab?

...ich verstehe nicht genau, was die klassenmethode soll. so ein counter würde nu sinn als objektmethode machen. hier wäre dann aber das problem, dass der parser asynchron läuft und du vermutlich zu dem zeitpunkt der abfrage noch gar keinen wert in deinem counter hast. die xml parser klasse bietet ja delegates. du kannst ja dein tableview erst dann aufbauen, wenn didEndDockument (oder so ähnlich) aufgerufen wird. ansonsten könntest du das abschliessen des parsens auch via observer überwachen.

vielleicht solltest du genauer erklären, was du genau machen willst, dann können wir dir sicher weiterhelfen.

gruss walter
 
ich stand ein wenig auf den schlauch und hab mich auf der stelle gedreht ;) ich brauchte keine Static Variables, hatte nicht richtig nachgedacht*g* problem ist nun gelöst :)
 
(Missgeschick)
 
Zurück
Oben Unten