關於如何計算CLLocationDistance(這與newLocation distanceFromLocation:oldLocation:
超級簡單)有多個問題,但沒有人問過如何加總多個距離。CLLocationDistance Addition
如果我嘗試合計和總距離totalDistance + = newDistance我得到「無效的操作數到二進制表達式。我似乎無法添加一個類型double到我的強號。如何將CLLocationDistance轉換爲十進制或浮動
關於如何計算CLLocationDistance(這與newLocation distanceFromLocation:oldLocation:
超級簡單)有多個問題,但沒有人問過如何加總多個距離。CLLocationDistance Addition
如果我嘗試合計和總距離totalDistance + = newDistance我得到「無效的操作數到二進制表達式。我似乎無法添加一個類型double到我的強號。如何將CLLocationDistance轉換爲十進制或浮動
事實證明什麼?我需要在總距離上保持一致轉換雙入一個NSNumber和回雙,像這樣:
numberThatIsSotred = [ NSNumber numberWithDouble:coordinate ];
theDobuleINeed = numberThatIsStored.doubleValue ;
此代碼編譯爲我執行細:
CLLocationDistance total=0.0;
CLLocationDistance loc1 = [newLocation distanceFromLocation:oldLocation];
CLLocationDistance loc2 = [oldLocation distanceFromLocation:newLocation];
NSLog(@" loc1 = %f, loc2=%f", loc1, loc2);
total += loc1;
total += loc2;
NSLog(@" total=%f", total);
什麼是你的代碼看起來像你是如何聲明你的「強勢」號
這就是我的代碼看起來像爲好,這個問題肯定是我聲明瞭強烈的號碼一樣:@property(非原子,強)NSNumber * totalDistance; –
'NSNumber'是一個對象類型,不響應正常的算術表達式。 CLLocationDistance可能只是float或double的typedef。您可以檢查NSNumber文檔以瞭解如何將原始數字類型轉換爲/從原始數字類型轉換。 – UIAdam
CLLocationDistance確實是一個typedef double。我建議你聲明你的強變量是CLLocationDistance而不是NSNumber。如果你以後需要一個NSNumber,一旦你有了總數,你可以很容易地創建一個像這樣的:NSNumber * myNumber = [NSNumber numberWithDouble:_theTotalDistance]; – Rayfleck