Các mã sau đây:NSConcreteData là gì và nó được định nghĩa ở đâu?
[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mapURL]]
trả về một thể hiện của NSConcreteData như trái ngược với NSData (mà tôi mong đợi!). NSConcreteData đại diện cho, chính xác, và tại sao nó được trả về thay vì một thể hiện của NSData? Hơn nữa, lớp này được định nghĩa ở đâu? XCode phàn nàn rằng nó chưa được xác định, nhưng tôi không biết tôi nên bao gồm những gì để có được lớp.
Bất kỳ trợ giúp nào được đánh giá cao!
tôi thấy gốc rễ của vấn đề của tôi là một tấm séc trên [sub isMemberOfClass: [NSData lớp]] thay vì [sub isKindOfClass: [NSData lớp]] Lợi nhuận sau đúng nếu phụ là một thể hiện của một lớp có nguồn gốc từ NSData, trong khi đó một trường hợp không phải là. Chúc mừng! – Codebeef
Chỉ cần lưu ý, bạn không thể luôn coi NSContreteData là NSData, ví dụ: khi cố gắng tuần tự hóa JSON. Nó sẽ ném một ngoại lệ: Chấm dứt ứng dụng do ngoại lệ uncaught 'NSInvalidArgumentException', lý do: 'Loại không hợp lệ trong JSON viết (NSConcreteData)' – Tim