Tôi đang cố triển khai một lớp con của NSMutableDictionary trả về nil thay vì ném một NSUndefinedKeyException khi khoá không có trong Từ điển.Phân lớp NSMutableDictionary
Tuy nhiên khi tôi cố gắng thêm đối tượng vào từ điển của tôi, tôi có được
[NSMutableDictionary setObject:forKey:]: method only defined for abstract class
NilDictionary.h
@interface NilDictionary : NSMutableDictionary {
}
@end
NilDctionary.m
@implementation NilDictionary
- (id)valueForUndefinedKey:(NSString *)key {
return nil;
}
@end
Tôi thực sự phải thực hiện tất cả các phương thức từ NSMutableDictionary một lần nữa trong phân lớp của tôi hoặc là có một số lớp khác tôi nên subclas hát?
Làm rõ: Sự cố ban đầu của tôi không thể đọc được tài liệu chính xác.
Nếu bạn cần phân lớp NSMutableDictionary, hãy kiểm tra câu trả lời đúng. Nếu bạn muốn một từ điển trả về nil khi khóa của bạn không có, NSMutableDictionary đã làm điều đó rồi.
Chính xác bạn đang làm gì với một từ điển để khiến từ đó phát ra 'NSUndefinedKeyException'? Cố gắng truy cập một khóa không hợp lệ trong một từ điển sẽ tự động trả về 'nil' anyways; làm thế nào bạn nhận được lỗi này? –