Một điều bạn nên rõ ràng là trong Objective-C, bạn không gọi một phương thức trên một đối tượng, mà bạn gửi một thông điệp (message) đến một đối tượng. Runtime (thời gian chạy) sẽ tìm phương thức và gọi nó. Một thông điệp được gửi đến một đối tượng nil là hoàn toàn chấp nhận được trong Objective-C, nó được xử lý như một thao tác không làm gì cả. Không có cách nào để đánh dấu nó là một lỗi vì nó không phải là lỗi, thực tế nó có thể là một tính năng rất hữu ích của ngôn ngữ.
Trong Objective-C, việc gửi một thông điệp đến giá trị nil là hợp lệ - nó đơn giản không có tác dụng tại runtime. Có một số mẫu thiết kế trong Cocoa tận dụng sự thật này. Giá trị trả về từ một thông điệp gửi đến giá trị nil cũng có thể hợp lệ: