Là NSParameterAssert
gì?
Bất cứ ai có thể giải thích với ví dụ?
Là NSParameterAssert
gì?
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à nil
0. 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
Release
cấ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_ASSERTIONS
dự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_ASSERTIONS
macro 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 Yes
trong Debug
và No
trong Release
cấu hình.