2012-01-24 25 views

cevap

15

Bir NSDictionary içine nesnenin her türlü koyabilirsiniz. Yani @"fred" tamam, 1 ise tamsayı bir nesne değildir. Bir sözlükte bir numara koymak istiyorsanız, bir NSNumber sarın:

NSDictionary *header = { @"title": @"fred", @"count": @1 }; 
+2

İlginç. Her şeyin bir nesne olduğu C# için kullanıyorum. Teşekkürler. – ChrisP

0

Sahip olduğunuz gibi değil. 1 sayısı bir ilkeldir ve NSArray nesnesi yalnızca nesneleri tutabilir. "1" için bir NSNumber oluşturun ve daha sonra saklayacaktır.

0

bir NSDictionary sadece o amaç-Cı nesneler içerebilen (örneğin NSString ve NSArray gibi), bu int, float veya char* gibi ilkel türde içeremez. Bu kısıtlamalar göz önüne alındığında, heterojen sözlükler tamamen yasaldır. Eğer bir anahtar veya değer olarak bir numara gibi 1 eklemek istiyorsanız

, bir NSNumber ile sarın olmalıdır:

NSDictionary *header=[[NSDictionary alloc] initWithObjectsAndKeys: 
    @"fred", @"title", 
    [NSNumber numberWithInt:1], @"count", 
    nil]; 
0

tek gereksinim olduğu bir nesne olmasıdır. Nesnelerinizi kodunuzda düzgün bir şekilde kullanmanız size kalmış, ancak muhtemelen, türlerini tuşlara bağlı olarak takip edebilirsiniz.

1 bir nesne değil. Sözlüğe bir sayı koymak istiyorsanız, onu bir NSNumber'e dönüştürmek isteyebilirsiniz.

İlgili konular