2012-01-25 8 views
0

これは私のコードです。これはviewDidLoadメソッドで入力しました。私はチュートリアルとソースコードを、次の午前 は、私はこれらすべてを定義したCorelocAPIでhereアプリケーションにGPSを組み込む - 動作しない

corelocation = [[CorelocAPI alloc] init]; 
    corelocation.delegate = self;  
[corelocation.locMgr startUpdatingLocation]; 


- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
{ 
NSLog (@"Failed !"); // This never gets executed. For more details why this is happening read below 

} 

- (void)locationUpdate:(CLLocation *)newLocation { 

    NSLog(@"location - %@",[NSString stringWithFormat:@"%f",self.lat]); 


} 

を見つけることができます(これは私のビューコントローラです)。

- (id)init { 
    self = [super init]; 

    if(self != nil) { 
     self.locMgr = [[[CLLocationManager alloc] init] autorelease]; // Create new instance of locMgr 
     self.locMgr.delegate = self; // Set the delegate as self. 
    } 

    return self; 
} 

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) { 
     [self.delegate locationUpdate:newLocation]; 
    } 
} 

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { 
    if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) { 
     [self.delegate locationError:error]; 
    } 
} 

それはdidFailWithError CorelocAPIクラスのメソッド、およびないview controllersdidFailWithErrorメソッドを実行するときにエラーが発生したときに私が午前の問題があります。したがって、viewControllerクラスのメソッドではNSLogを実行することはありません。

viewControllerクラスのdidFailWithErrorメソッドを実行するようにコードを変更するにはどうすればよいですか(エラーが発生した場合)?あなたが混ざっデリゲートを取得しているようなあなたのビューコントローラ誤差法が間違っている

答えて

1

、それはlocationError:(NSError *)error、ないlocationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

である必要があり、それが見える、ビューコントローラは、のデリゲートであるCoreLocAPIオブジェクトのデリゲートでありますそのCLLocationManagerオブジェクト

+0

私のUIViewCOntrollerに 'locationError:(NSError *)error'を追加した後でも、エラーがあるときにこのブロックを実行しません – Illep

+0

他のことを考えてください:didFailWithErrorは呼び出されませんCorelocAPI、またはビューコントローラがデリゲートとして宣言されていないため、conformsToProtocolチェックに失敗しています – wattson12

関連する問題