Я новичок в Obj-C и Cocoa и пытаюсь выяснить, как сделать отсортированный список объектов до и после ARC.Связанный список объектов какао
Мой класс был бы что-то вроде
@interface Node : NSObject
{
int value;
NSValue *item;
Node *next;
}
property (strong, non atomic) value;
...
Ввод нового пункта осуществляется путем сканирования списка узлов и найти точку вставки, сравнивая свойства значение узла. Если у меня возникают проблемы, когда я хочу удалить элемент из списка. Мой код-то вроде
...
Node *prevPtr = nil;
Node *curPtr = head;
while (curPtr != nil) {
if (some-condition) {
prevPtr.next = curPtr.next;
[curPtr release]; // cannot do with ARC
}
}
- Является ли эта схема кодирования совместим с какао?
- Под ARC, где/когда мой объект будет освобожден/освобожден?
Почему вы считаете, что вам нужно написать свой собственный список ссылок вместо простого использования NSMutableArray? –
Возможно, потому, что 'NSMutableArray' использует структуру данных резервного копирования того же типа, что и' ArrayList' в Java, что делает произвольные вставки и удаления неэффективными? Я не говорю, что это так, но это может быть одной из причин желания создать собственный связанный список. – aroth
NSArray имеет очень ... интересную реализацию, http://ridiculousfish.com/blog/posts/array.html - очень хорошее чтение. Лучшая цитата, относящаяся к этому конвою: «Не сомневайтесь, Apple, потому что Apple уже второй раз догадалась о вас. В лучшем случае, конечно». –