Cách đơn giản nhất là:
[dictionary objectForKey:@"key"] != nil
như từ điển trở nil
cho các phím không tồn tại (và bạn không thể do đó lưu trữ một con số không trong một cuốn từ điển, cho rằng bạn sử dụng NSNull
).
Edit: trả lời nhận xét về câu trả lời của Bradley
Bạn tiếp tục đặt câu hỏi:
Có cách nào để xác minh nếu điều này: [[[contactDetailsDictionary objectForKey: @] objectForKey "chuyên nghiệp": @ "CurrentJob"] objectForKey: @ "Vai trò"] tồn tại? Không phải là một khóa duy nhất, bởi vì nó là một từ điển khổng lồ, vì vậy nó có thể tồn tại trong một thể loại khác.
Trong Objective-C bạn có thể gửi một thông điệp tới nil
, nó không phải là một lỗi và trả về nil
, nên việc đưa phương pháp đơn giản trên, bạn chỉ cần viết:
[[[contactDetailsDictionary objectForKey:@"professional"]
objectForKey:@"CurrentJob"]
objectForKey:@"Role"] != nil
như nếu bất kỳ phần nào của chuỗi khóa không tồn tại LHS trả về nil
Đối với tra cứu chuỗi, bạn cũng có thể sử dụng KVC: '[contactDetailsDictionary valueForKeyPath: @" professional.CurrentJob.Role "]'. –
Có một lỗi nhỏ trong dòng mã đầu tiên, tên phương thức là 'objectForKey', không phải' objectForkey'. – jamix
@jamix - Cảm ơn, đã sửa. – CRD