hi zusammen
ich versuche den thread welcher die internet verbindung in meiner app alle 5 sek. testet in einen eigenen thread zu packen.
mein code ist der folgende:
Alles anzeigen
irgendwie hat er meine willChangeValueForKey / didChangeValueForKey nicht so gerne denn folgendes gibt die console aus:
aber selbst wenn ich diese auskommentiere bringt er noch das hier:
ich habe noch nicht allzuviel erfahrung mit threads. ich hab mal das was ich im internet gefunden habe oben in meine methoden gepackt (NSAutoreleasePool).
hat mir jemand ein tip?
viele grüsse philippe
ich versuche den thread welcher die internet verbindung in meiner app alle 5 sek. testet in einen eigenen thread zu packen.
mein code ist der folgende:
Quellcode
- - (void)startInternetConnectionCheckThread: (id)sender
- {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- [NSThread detachNewThreadSelector: @selector(checkInternetConnection:) toTarget:self withObject:self];
- [pool release];
- [self performSelector:@selector(startInternetConnectionCheckThread:) withObject:nil afterDelay:5];
- }
- - (void)checkInternetConnection: (id)sender
- {
- NSLog(@"%@", NSStringFromSelector(_cmd));
- // return;
- Boolean success;
- SCNetworkConnectionFlags status;
- success = SCNetworkCheckReachabilityByName("www.apple.com",
- &status);
- connectedToInternet = success && (status & kSCNetworkFlagsReachable) && !(status &
- kSCNetworkFlagsConnectionRequired);
- if (!connectedToInternet)
- {
- success = SCNetworkCheckReachabilityByName("www.w3.org",
- &status);
- connectedToInternet = success && (status & kSCNetworkFlagsReachable) &&
- !(status & kSCNetworkFlagsConnectionRequired);
- }
- // status = nil;
- // success = nil;
- [self willChangeValueForKey:@"statusIconForInternetConnection"];
- [self didChangeValueForKey:@"statusIconForInternetConnection"];
- [self willChangeValueForKey:@"statusMessageForInternetConnection"];
- [self didChangeValueForKey:@"statusMessageForInternetConnection"];
- }
irgendwie hat er meine willChangeValueForKey / didChangeValueForKey nicht so gerne denn folgendes gibt die console aus:
Quellcode
- 2006-12-15 22:17:48.584 Luscious SMS[425] *** _NSAutoreleaseNoPool(): Object 0xa25de2f0 of class NSCFString autoreleased with no pool in place - just leaking
- 2006-12-15 22:17:48.584 Luscious SMS[425] *** _NSAutoreleaseNoPool(): Object 0xc633c90 of class NSCFString autoreleased with no pool in place - just leaking
- 2006-12-15 22:17:48.584 Luscious SMS[425] *** _NSAutoreleaseNoPool(): Object 0x4a1880 of class NSCFString autoreleased with no pool in place - just leaking
- 2006-12-15 22:17:53.483 Luscious SMS[425] *** _NSAutoreleaseNoPool(): Object 0xc64f590 of class NSCFString autoreleased with no pool in place - just leaking
aber selbst wenn ich diese auskommentiere bringt er noch das hier:
ich habe noch nicht allzuviel erfahrung mit threads. ich hab mal das was ich im internet gefunden habe oben in meine methoden gepackt (NSAutoreleasePool).
hat mir jemand ein tip?
viele grüsse philippe
).