Tôi đang cố gắng sử dụng -[NSObject autoContentAccessingProxy]
như được mô tả tại http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/nsobject_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObject/autoContentAccessingProxy.Does - [NSObject autoContentAccessingProxy] có hoạt động không?
Đối tượng tôi đang cố gắng proxy triển khai giao thức NSDiscardableContent
và -autoContentAccessingProxy
trả về thành công giá trị không phải là số không.
Nếu, tuy nhiên, tôi cố gắng gửi thư tới proxy, tôi luôn nhận được NSInvalidArgumentException
với lý do "*** - [Phương thức NSProxySignatureForSelector:] được gọi!".
Tôi hiểu rằng nếu tôi đang viết riêng NSProxy
lớp dựa trên của tôi, tôi sẽ phải thực hiện các phương pháp -methodSignatureForSelector:
, nhưng trong trường hợp này, tôi không viết proxy, chỉ cần cố gắng sử dụng proxy được cung cấp bởi các phương pháp ghi nhận . Đối với những gì nó có giá trị, tôi có thể thấy rằng các proxy thực sự là loại NSAutoContentAccessingProxy
, vì vậy tôi mong đợi rằng lớp đó thực sự sẽ có một thực hiện cho -methodSignatureForSelector:
.
Đây là một khối mã nhỏ sử dụng một cá thể NSPurgeableData thay vì lớp tùy chỉnh của tôi. Khối nhỏ này có cùng một vấn đề.
NSPurgeableData * data = [NSPurgeableData dataWithBytes:"123" length:3];
NSLog(@"data.length = %u", data.length);
id proxyData = [data autoContentAccessingProxy];
NSLog(@"proxyData.length = %u", [proxyData length]); // throws NSInvalidArgumentException!
[data endContentAccess];
[data release];
Tôi có hiểu nhầm về phương pháp -autoContentAccessingProxy
ở đây hay chỉ hoàn toàn bị hỏng?
Thật tuyệt vời, cách tốt nhất để thể hiện rằng trang web đã bị hỏng. Thanh danh! –