0
CCLocationManagerメソッドをブロックに変換する際に問題があります。 マイCLLocationManager方法は、次のようになります。CLLocationManagerメソッドをiOS目的のブロックに変換する方法
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"didUpdateToLocation: %@", newLocation);
}
else{NSLog(@"current location is nil");};
}
私はブロックに、このメソッドを変換しようとしているが、そうしようとしているの難しさを持っています。客観的なCとIosの開発に新しいこと。私がやっている何
は次のようなものです:
double (^getSpeed)(*CLLocation, *CLLocation) = ^(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"didUpdateToLocation: %@", newLocation);
CLLocation *currentLocation = newLocation;
mSpeed = currentLocation.speed;
}
else{NSLog(@"current location is nil");};
return mSpeed;
};
が、それはそれはブロックの最初の行に式を期待していること言って私にエラーを与えます。どういう意味ですか? ご協力いただければ幸いです。あなたがこの方法を試すことができます
私は同意しますが、何も返せませんでした。基本的に私は速度を返すことになる別の関数の中にブロックを書き込もうとしています – Nik391
"didUpdateLocations"デリゲートメソッドが "updateCurrentLocation"と呼ばれるようになっている場合、位置を返さなければなりません。チェックデリゲートが呼び出しているかどうか。ブロックでは、それはあなたがコースのスピードを望むものを計算することができます。 – Vishnuvardhan
わかりやすくありがとうございました – Nik391