2013-01-16 7 views
10

Tôi không hiểu sự khác nhau giữa các cách tiếp cận NSDictionary giá trịgiá trị truy cập NSDictionary tắt

[my_dict objectForKey:@"field"] 
[my_dict valueForKey:@"field"] 
my_dict[@"field"] 

Ai đó có thể cho tôi biết?

+1

http://stackoverflow.com/questions/1062183/objective-c-whats-the-difference-between-objectforkey-and-valueforkey – codingNinja

+2

Truy vấn chính của tôi là nhiều hơn về lối tắt 'my_dict [@" field "]' . –

Trả lời

49

[my_dict objectForKey:@"field"] là phương thức NSDictionary. Nó chấp nhận bất kỳ loại đối tượng nào.

[my_dict valueForKey:@"field"] là phương pháp KVC. Nó chỉ chấp nhận NSString.

my_dict[@"field"] giống với objectForKey:. Đây là tính năng mới được thêm vào.

+0

Giải thích thực sự rõ ràng. Cảm ơn –

+0

Chỉ cần nhìn thấy điều này. Hãy xem https://clang.llvm.org/docs/ObjectiveCLiterals.html#dictionary-style-subscripting để có một cuộc thảo luận đầy đủ về chủ đề của các chữ và chỉ số. – Armand