Là NSParameterAssertgì?
Bất cứ ai có thể giải thích với ví dụ?
Là NSParameterAssertgì?
Bất cứ ai có thể giải thích với ví dụ?
Câu trả lời:
Đây là một cách đơn giản để kiểm tra xem tham số của phương thức có phải là nil0. Vì vậy, về cơ bản, bạn sử dụng nó để tạo điều kiện tiên quyết, nói rằng một số tham số phải được đặt. Nếu nó không được đặt, macro sẽ khiến ứng dụng ngừng hoạt động và tạo ra lỗi trên dòng đó. Vì thế:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Tiền điều kiện là một cách đơn giản để đảm bảo rằng các phương thức / API đang được lập trình viên gọi một cách chính xác. Ý tưởng là nếu một lập trình viên vi phạm điều kiện tiên quyết, ứng dụng sẽ kết thúc sớm - hy vọng là trong quá trình gỡ lỗi và thử nghiệm cơ bản.
NSParameterAssert có thể được sử dụng để kiểm tra xem bất kỳ biểu thức nào đánh giá là đúng, tuy nhiên, vì vậy bạn cũng có thể sử dụng nó như sau:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Releasecấu hình. Bạn có thể kiểm soát điều này bằng cách đặt cài đặt bản ENABLE_NS_ASSERTIONSdựng trong các phiên bản mới hơn của Xcode hoặc bằng cách xác định NS_BLOCK_ASSERTIONSmacro và đặt nó thành 1. Trong Xcode 5 có cài đặt dự án * Bật tính năng Foundation Assertions` đặt cài đặt bản dựng và mặc định thành Yestrong Debugvà Notrong Releasecấu hình.