2011-08-23 41 views
5

tôi hiện đang nhận được nhật ký sự cố này trong bảng điều khiểnNSCFData có thể khắc phục sự cố không?

2011-08-23 19:18:40.064 App[1697:707] -[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0 
2011-08-23 19:18:40.075 App[1697:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0' 

Có ai biết điều này có nghĩa? Điều gì có thể là nguyên nhân của nó?

Cảm ơn!

Trả lời

9

Nhiều khả năng không, bạn đã phát hành quá mức một số đối tượng ngẫu nhiên, và tình cờ, một thể hiện của NSData (hoặc CFData) đã được cấp phát tại vị trí của đối tượng đã biến mất.

Chạy công cụ phát hiện Zombie và xem có bắt được vật gì không (tìm kiếm SO cho NSZombie).

Cách khác, đặt điểm ngắt trên objc_exception_throw và sẽ hiển thị cho bạn nơi thư được gửi. Tuy nhiên, điều đó có thể không cung cấp đủ ngữ cảnh.

+2

vấn đề đã kết thúc khi tôi đang thiết lập một đối tượng NSData cho UIImageView, tôi ngu ngốc! –

+0

Hah! Điều đó cũng sẽ làm được. Rất vui khi bạn tìm thấy nó. – bbum

1

Dường như bạn đang gửi công cụ chọn không hợp lệ (isResizable) đến một đối tượng, có lẽ là đối tượng NSData? Bạn có theo dõi ngăn xếp để cung cấp thêm thông tin về nơi xảy ra sự cố không?

+0

Tôi chỉ sử dụng NSData trong bộ điều khiển chế độ xem nơi xảy ra sự cố và không được gọi khi khởi động. Sự cố xảy ra khi khởi động. Làm thế nào tôi sẽ nhận được dấu vết ngăn xếp? –

+1

Xem [bài đăng SO cũ hơn này] (http://stackoverflow.com/questions/1093999/stack-trace-or-more-info-on-unhandled-exception-in-xcode-iphone/1094096#1094096), bao gồm cả ý kiến ​​từ Brad Larson nếu bạn muốn làm điều này trong Xcode 4 –

+1

chạy nó trong các công cụ với phát hiện zombie được kích hoạt. công cụ có thể ghi lại tất cả số lượng ref cho các đối tượng, làm giảm thời gian cần thiết để xác định zombie/thời gian sống/nguồn đến khoảng một phút sau khi sao chép. – justin

Các vấn đề liên quan