Schönen Abend allerseits,
ich setze mich jetzt seit einiger Zeit mit Objektive-C und Cocoa Touch auseinander. Scheitere jedoch immer an einer Sache: Ich habe eine App die eine selbstgeschriebene Klasse impplemetiert die Klasse verwaltet eigentlich nichts weiter als zwei Countdowns(realisiert mit NSTimer) dessen genaue Zeit in Sekunden festgelegt werden kann und von denen ein Countdown per Bool als einmaliger Anfangscooldown eingestuft werden kann und konvertiert diesen dann in einen NSString im Format mm:ss den man im MainViewController abrufen sollen könnte. Es kommt nämlich immer nur "null" heraus. Ich verdächtige das Thema da oben aber wirft doch mal selbst einen Blick drauf. Ich wäre für jede Hilfe dankbar.
Hier der Header der Klasse:
Alles anzeigen
Ich bin ziemlich ratlos, hoffe ihr wisst Rat.
Einen Schönen Abend noch
edit: so besser?
ich setze mich jetzt seit einiger Zeit mit Objektive-C und Cocoa Touch auseinander. Scheitere jedoch immer an einer Sache: Ich habe eine App die eine selbstgeschriebene Klasse impplemetiert die Klasse verwaltet eigentlich nichts weiter als zwei Countdowns(realisiert mit NSTimer) dessen genaue Zeit in Sekunden festgelegt werden kann und von denen ein Countdown per Bool als einmaliger Anfangscooldown eingestuft werden kann und konvertiert diesen dann in einen NSString im Format mm:ss den man im MainViewController abrufen sollen könnte. Es kommt nämlich immer nur "null" heraus. Ich verdächtige das Thema da oben aber wirft doch mal selbst einen Blick drauf. Ich wäre für jede Hilfe dankbar.
Hier der Header der Klasse:
Quellcode
- #import <Foundation/Foundation.h>
- @interface RespawnTimer : NSObject
- @property (assign) double iSpawnTime;
- @property (assign) double rSpawnTime;
- @property (assign) bool hasISpawn;
- @property (readonly) NSString* SpawnTimeString;
- - (void)startRespawn;
- - (void)resetBuff;
- -(id)initWithISpawn:(bool)b andISpawnTime: (double) i andRSpawnTime: (double)r;
- @end
- Hier die wichtigsten Methoden:
- @implementation RespawnTimer
- NSString* SpawnTime;
- double TimeRemaining;
- NSTimer* iSpawnT;
- NSTimer* rSpawnT;
- @synthesize iSpawnTime;
- @synthesize rSpawnTime;
- @synthesize hasISpawn;
- @synthesize SpawnTimeString;
- - (id)initWithISpawn:(bool)b andISpawnTime: (double) i andRSpawnTime: (double)r //einzigste Init
- {
- self = [super init];
- b=hasISpawn;
- i=iSpawnTime;
- r=rSpawnTime;
- return self;
- }
- - (NSString*)prepareTimeString // hier sollte aus den fertig heruntergezählten Variablen das Ergebnis zusammengesetzt werden
- {
- int gtm;
- int gts;
- if (hasISpawn==true) {
- gtm = floor(iSpawnTime/60);
- gts = round(iSpawnTime - gtm * 60);
- } else {
- gtm = floor(rSpawnTime/60);
- gts = round(rSpawnTime - gtm * 60);
- }
- SpawnTime = [NSString stringWithFormat:@"%d:%d",gtm, gts];
- NSLog(@"rtclass %@", SpawnTime);
- SpawnTime =SpawnTimeString;
- return SpawnTime;
- }
- - (void)countBuff // hier wird gezählt die Methode wird von einem wiederholenden NSTimer aufgerufen der bei Bedarf invalidiert wird
- {
- if (hasISpawn==true) {
- if (iSpawnTime==0) {
- [iSpawnT invalidate];
- hasISpawn=false;
- } else {
- iSpawnTime--;
- }
- } else {
- if (TimeRemaining==0) {
- [self resetBuff];
- } else {
- rSpawnTime--;
- [self prepareTimeString];
- }
- }
- }
Ich bin ziemlich ratlos, hoffe ihr wisst Rat.
Einen Schönen Abend noch
edit: so besser?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Coltan ()