2012-09-25 20 views
7

Im Aşağıdaki kodu kullanarak, bir çift bir değer atamak için çalışıyor:başlatılması uyumsuz türünde bir ifade ile 'çift' 'id'

double distanceFormat = [self.runsArray[indexPath.row] valueForKey:@"runDistance"]; 

Ama aşağıdaki hatayı almaya devam:

Initialising 'double' with an expression of incompatible type 'id' 

Ancak, değerin çift olduğunu biliyorum. Bunu yapmanın bir yolu var mı? Eğer Beceremeyiz düşünüyorum çift olduğundan eminseniz

double distanceFormat = [[self.runsArray[indexPath.row] valueForKey:@"runDistance"] doubleValue]; 

:

+0

self.runsArray Sözlükler dizisi midir? Sadece – rooster117

+0

sonuna doubleValue eklemeniz gerektiğini hayal ediyorum, Evet, dizelerle çalışır. İçinde bir çift var olduğuna inanmak için xcode alamıyorum! –

+0

Sadece [[self.runsArray [indexPath.row] valueForKey: @ "runDistance"] doubleValue] deneyin; – rooster117

cevap

12

Birlikte deneyelim yani.

+0

Harika, çok teşekkürler! –

6

Kullanım NSNumber

NSNumber *mynumber = [somedictionary valueForKey:@"runDistance"]; 

Eğer NSNumber sahip olduktan sonra istersen, sen içine f.ex biçimine dönüştürebilirsiniz:

int i = [mynumber intValue];