Có cách nào để tìm nạp số tham chiếu hiện tại cho NSObject (tức là NSString) không?Làm cách nào để nhận số lượng tham chiếu của NSObject?
Trả lời
Như @Ben S cho biết, đó là phương pháp retainCount
. Tuy nhiên, bạn đang đặt câu hỏi sai, bởi vì:
Important: Thường không có lý do gì để yêu cầu một cách rõ ràng đối tượng đếm được của nó (xem retainCount). Kết quả thường gây nhầm lẫn, vì bạn có thể không biết các đối tượng khung đã giữ lại một đối tượng mà bạn quan tâm. Trong các vấn đề quản lý bộ nhớ gỡ lỗi, bạn chỉ nên quan tâm đến việc đảm bảo rằng mã của bạn tuân thủ các quy tắc quyền sở hữu.
Vì vậy, đây là câu hỏi thực sự: tại sao bạn cần biết?
Nhưng bạn nên xem xét sử dụng CFGetRetainCount
thay
Phương pháp này không được khuyến khích sử dụng và thậm chí không được đảm bảo trả lại số chính xác. – Eonil
- 1. IUnknown :: QueryInterface() tăng số lượng tham chiếu?
- 2. Làm cách nào để nhận số lượng chuỗi hoạt động?
- 3. Làm cách nào để nhận các đối số tham chiếu và con trỏ trong Python + SWIG?
- 4. Số lượng giữ lại được thực hiện trong NSObject như thế nào?
- 5. C# chuyển số biến tham số tham chiếu
- 6. Làm cách nào để chuyển tham chiếu dưới dạng tham số phương thức trên AppDomain?
- 7. Làm cách nào để định lượng chất lượng của trình tạo số giả ngẫu nhiên?
- 8. Làm thế nào để tạo tham số tham chiếu rvalue mẫu CHỈ liên kết với tham chiếu rvalue?
- 9. Tôi làm cách nào để xóa tham chiếu vấn đề
- 10. Làm cách nào để tạo phương thức Java chấp nhận số lượng đối số thay đổi?
- 11. Làm cách nào để tạo 'tham chiếu' cho lambda?
- 12. tham số tham chiếu const
- 13. Làm cách nào để nhận số lượng hàng bằng cách sử dụng api QueryOver NHibernate?
- 14. Làm cách nào để thay đổi biến mà tham chiếu C++ tham chiếu?
- 15. Tôi làm cách nào để chuyển tham chiếu đến call_user_func?
- 16. Làm cách nào để tham chiếu tài nguyên trong Java?
- 17. Làm cách nào để tham chiếu tệp javascript?
- 18. Làm cách nào để tham chiếu tham số hàm Python được ghi lại bằng cách sử dụng đánh dấu Sphinx?
- 19. Làm cách nào để đặt url tham chiếu
- 20. Làm cách nào để tạo một bộ tham chiếu const?
- 21. Làm cách nào để tham chiếu động một đối tượng?
- 22. Làm cách nào để tham chiếu đến phần tử của std :: tuple?
- 23. Cách chuyển tham số dưới dạng tham chiếu với MethodInfo.Invoke
- 24. Có cách nào để nhận số lượng yêu thích của một tweet không?
- 25. Làm thế nào để vượt qua một tham chiếu thông qua một gói tham số?
- 26. Làm cách nào để công thức của tôi luôn tham chiếu đến trang tính cuối cùng?
- 27. Làm cách nào để đếm số lượng JsObject trong JsValue?
- 28. Tôi làm cách nào để ghi đè/mở rộng tham chiếu trong JavaScript của Chrome?
- 29. Làm cách nào để tải IIS bản địa được dịch vụ WCF của tôi tham chiếu?
- 30. Số tham chiếu Python và ctypes
Một nơi nào đó trong mã ObjectiveC của tôi, bản phát hành đã được gọi trên một đối tượng đã được phát hành. Đối với một số lý do gdb sẽ không phá vỡ tại vị trí cụ thể nơi xảy ra vi phạm truy cập bộ nhớ. Tôi có một đoán tốt nơi mà vấn đề cư trú nhưng muốn xác minh giả định của tôi bằng cách in refcount của đối tượng nghi ngờ. – zer0stimulus
Đặt điểm ngắt trên phương thức dealloc. Ngoài ra, hãy kiểm tra liên kết này: http://www.cocoadev.com/index.pl?NSZombieEnabled – JeremyP
Tốt hơn, hãy sử dụng mẫu Zombies của Instruments. –