iOS không hét lên khi tôi vượt qua trong NULL
hoặc nil
đến khối hoàn thành trong animateWithDuration:animations:completion:
nhưng điều đó có nghĩa là không sao? Hoặc là tốt hơn để mở một số trống ^{ }
?Bạn có thể truyền NULL vào tham số khối không?
Trả lời
Điều này được chấp nhận miễn là bạn có thể tin tưởng mã mà bạn đang chuyển qua nil
sẽ không cố gắng gọi nó là một khối.
Một cuộc biểu tình nhanh chóng:
typedef void (^GenericBlock)(void);
void useThisBlock(GenericBlock block){
block();
}
useThisBlock(^{NSLog(@"All okay.");});
useThisBlock(nil); // Compiles but crashes
Mã bên phải kiểm tra khối đầu tiên: if(block) block();
Trong trường hợp của mã UIKit, bạn cần sử dụng tốt.
Đi qua nil
là tốt và theo ý kiến của tôi, hãy đọc mã đọc rõ hơn.
Nếu bạn không muốn sử dụng khối hoàn thành, trong trường hợp này bạn cũng có thể sử dụng phương pháp [UIView animateWithDuration:animations:]
.
Cảm ơn, tôi biết có một phương pháp không có khối hoạt ảnh. Câu hỏi của tôi là nhiều hơn về chính nó. Vậy tại sao 'nil', không phải' NULL'? – pixelfreak
'nil' và' NULL' là tương đương. Theo quy ước, Objective-C thường sử dụng 'nil' trong đó' NULL' được sử dụng trong C. – sho
không chính xác trong ARC. 'nil' có nghĩa là đối tượng và phải được sử dụng khi' id' được mong đợi, trong khi 'NULL' có nghĩa là con trỏ không hợp lệ không phải là đối tượng và phải được sử dụng khi' (void *) 'được mong đợi. Hãy xem câu hỏi [this] (http://stackoverflow.com/questions/557582/null-vs-nil-in-objective-c) để biết thêm thông tin. –
- 1. Truyền một chuỗi Null vào số nguyên
- 2. Có thể truyền tham số cho da không?
- 3. Có thể tham số truyền URL rút gọn không?
- 4. C# - Có thể có tham số null không?
- 5. Ruby - Có thể truyền một khối như một tham số như một khối thực tế cho một chức năng khác?
- 6. tham số truyền vào php với shell
- 7. Truyền giá trị NULL vào truy vấn máy chủ SQL delphi được tham số hóa
- 8. Có thể tham chiếu đến một tham số được truyền cho một phương thức trong khối được truyền trong ruby không?
- 9. có thể tham số phương thức truyền đối tượng theo tham chiếu nhưng chỉ đọc không?
- 10. Làm cách nào để truyền NULL vào tham số hàm va_list?
- 11. Truyền tham số vào hộp thoại trong cùng một trang
- 12. VBScript: Truyền tham số có giá trị null cho một thủ tục lưu sẵn?
- 13. Bạn có thể truyền một mảng có kích thước cố định làm tham số hàm GLSL không?
- 14. Lấy số tham số khối
- 15. Có thể truyền tham số bằng tham chiếu bằng cách sử dụng call_user_func_array() không?
- 16. Truyền tham số trong Link_to
- 17. Truyền tham số vào tệp tập lệnh awk
- 18. Các loại tham chiếu không thể null
- 19. Android: truyền tham số cho một tab
- 20. Truyền ArrayList làm tham số
- 21. Truyền tham số để sinh lời trong Rails 3 (hoặc có thể không?)
- 22. Truyền Lớp như tham số
- 23. Asp.Net Mvc JQuery tham số đầu vào ajax là null
- 24. Truyền tham số qua server.execute?
- 25. Truyền tham số cho đối tượng XMLHttpRequest
- 26. Tham số truyền bằng initWithNibName:
- 27. Truyền tham số chặn không khớp với chữ ký
- 28. Tôi có thể yêu cầu Jenkins xây dựng một thẻ git từ một tham số được truyền vào không?
- 29. Bạn có thể sử dụng khối mã làm đối số cho macro C không?
- 30. Truyền tham số cho BroadcastReceiver
"* Trong trường hợp mã UIKit, bạn nên ổn. *" Trích dẫn cần thiết? – Manav
@Manav: Bạn không sai - không có cách nào để xác minh (ngoại trừ việc nó không bị lỗi). –