NSAssert là một lệnh giúp tránh việc chương trình bị lỗi mà không biết lý do nào để sửa.

Đầu tiên, chúng ta cần hiểu NSAssert làm việc như thế nào?

NSAssert đưa ra một điều kiện mà nếu chương trình không thoả mãn thì chương trình sẽ crash ngay lập tức (dừng ngay tại thời điểm đó). Thế tại sao bạn cần phải crash chương trình của mình, đó không phải là việc làm thừa thải quá ư?

Thật ra là không hề thừa. Một khi chương trình không thoả mãn được điều kiện mà bạn đưa ra thì chính xác đã có lỗi rất nghiêm trọng trong khi bạn lập trình đó là khi bạn quên làm việc gì đó. Việc cho chương trình chạy tiếp không có ý nghĩa gì nữa, việc dừng chương trình là cần thiết trong thời điểm đó. Objective C đem lại cho lập trình viên rất nhiều lợi thế so với các ngôn ngữ khác, cụ thể là việc có thể lập trình với cả những đối tượng NULL (nil theo Objective C) vì vậy rất dễ dàng để bạn phạm lỗi và trong những trường hợp này Compiler sẽ trả về lỗi chương trình đầu nguồn vì theo nó lỗi không phụ thuộc vào việc bạn sử dụng nil object.

Hãy tận dụng khả năng của lệnh này để tránh lỗi chương trình và tìm ra lỗi nhanh chóng và dễ dàng cho việc sử chữa.

* Ví dụ cho việc sử dụng NSAssert:

NSAssert(PlayingScene != nil, @"Playing Scene has not init yet");

=> Trong một số trường hợp, Objective C quá dễ dãi cho lập trình viên khi cho phép các đối tượng nil được phép sử dụng các function hay vì một lý do nào đó mà chương trình không kịp fill đầy đủ các yêu cầu thì cách hay nhất là crash để loại bỏ những trường hợp này.