2012-12-07 35 views
1

我最近在Xcode項目中遇到過一些我以前沒有注意過的符號。目標中不常用的符號C

什麼是

@{some_value}

@[some_value]

謝謝

+0

的顯着艱鉅的任務,我不應該真正得到-2這個,你可以一個快速的方法對於這樣的符號,谷歌並不適用,如果你第一次在代碼中注意到它們,並且你需要一個快速的答案,那麼最好的方法就是使用stackoverflow。夥計們請相應地使用您的特權! – shebelaw

+1

沒有堆棧溢出不是用於提問的快速問題。我應該開始問「Eclipse中的這個按鈕是什麼?我以前沒有注意到它」? – kazanaki

回答

1

它應該是@{key:value}它代表一個字典與鍵和值。 @[some_value]應該是一個數組。正如在其他答案中提到的,請查看Objective C Literals瞭解更多詳情。

從該鏈接的例子是,

NSDictionary *dictionary = @{ 
    @"name" : @"some name", 
    @"date" : [NSDate date], 
    @"processInfo" : [NSProcessInfo processInfo] 
}; 

NSArray *array = @[ @"Hello", NSApp, @42]]; 
+0

請注意,NSNumber現在也支持文字'@ 42' – vikingosegundo

+0

@vikingosegundo,謝謝指出。寫作時沒有考慮到這一點。更專注於數組和字典部分。 – iDev

0

這是Objective-C的 '捷徑',讓您快速做出一個NSArray或NSDictionary的。

我可以說

NSArray *myArray = @[@"My Object", @"My Second Object", @"My Third Object"]; 

事實上,@「」符號是一樣的,因爲它可以讓你快速做出一個NSString。

@ {}:

NSDictionary *myDict = @{@"My Object" : @"My Key", @"My Second Object", @"My Second Key"}; 

只是懶惰的開發者沒有經過實際打字[[... alloc] init...]