2
Obj-CとCocoaの新機能で、ARCの前後にオブジェクトのソートされたリンクリストを作成する方法を理解しようとしています。Cocoaオブジェクトのリンクリスト
私のクラスでは、ノードのリストをスキャンし、ノードのvalueプロパティを比較することにより、挿入ポイントを見つけることによってなされる何か新しい項目を入力する
@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は、Javaの 'ArrayList'と同じタイプのバッキングデータ構造を使用しているため、任意の挿入と削除が非効率的なのでしょうか?私はそれがそうであると言っているわけではありませんが、それはカスタムリンクリストを実装したいという理由の一つになります。 – aroth
NSArrayは非常に興味深い実装を持っています。http://ridiculousfish.com/blog/posts/array.htmlは非常に読みやすいです。それはこのコンボに関連して最高の引用 "Appleは、すでに第二にあなたを推測しているので、二度とAppleを推測しないでください。もちろん、良い方法で。 –