Chúng hoàn toàn khác nhau.
Đầu tiên lấy con trỏ đối tượng từ từ điển, sau đó diễn giải con trỏ dưới dạng BOOL
. Điều này có nghĩa là bất kỳ con trỏ nào không phải là nil
sẽ được hiểu là YES
và nil
là NO
. Trong ví dụ cụ thể, vì từ điển không thể chứa nil
con trỏ, bạn sẽ chỉ nhận được YES
từ dòng mã này.
Biểu tượng thứ hai lấy cùng một đối tượng từ từ điển, sau đó gửi thông báo boolValue
cho đối tượng đó. Có lẽ, và nếu đối tượng nhận ra thông báo, điều đó sẽ dẫn đến một phiên bản BOOL
của đối tượng.
Là một ví dụ cụ thể, nếu từ điển chứa một NSNumber
kết hợp với phím @"boolValue"
, các NSNumber
sẽ nhận được thông báo boolValue
, và nếu nó không phải là zero trở YES
, nếu không NO
.
Vì vậy, để trả lời câu hỏi của bạn, bạn nên sử dụng biểu mẫu thứ hai. Việc đưa con trỏ đến một số BOOL
hiếm khi có ý nghĩa gì.