Dưới đây là những gì tôi muốn làm:Làm cách nào để lưu trữ NSRange trong NSMutableArray hoặc vùng chứa khác?
NSRange r = NSMakeRange(0,5);
id a = [NSMutableArray a];
[a addObject: r]; // but NSRange is not a NSObject *
Với một boolean, tôi muốn sử dụng mã như thế này:
[a addObject: [NSNumber numberWithBool: YES]];
hoặc với một số nguyên:
[a addObject: [NSNumber numberWithInteger: 3]];
Vậy là những gì tương đương với một số NSRange
? Những gì tôi không thực sự muốn làm là tạo lớp con của riêng tôi là NSObject
để thực hiện việc này. Chắc chắn có một cách với những gì Apple đã cung cấp?
Tại sao NSValue có thể lưu trữ NSRange nhưng NSArray có thể không? – antonio081014
Vì 'NSArray' chỉ có thể lưu trữ các đối tượng. 'NSRange' không phải là một đối tượng, nhưng bạn có thể bọc nó với' NSValue' để nó có thể được sử dụng bởi 'NSArray',' NSDictionary', v.v. –
trong khi lặp qua mảng NSMutable, NSRange r = a [i] .rangeValue như giá trị phạm vi thuộc tính không tìm thấy trên id loại ... –