我是Obj-C和Cocoa的新手,并试图弄清楚如何在ARC之前和之后做一个排序的对象链接列表。
我的班级会像
@interface Node : NSObject
{
int value;
NSValue *item;
Node *next;
}
property (strong, non atomic) value;
...
通过扫描节点列表并通过比较节点的value属性来查找插入点,即可完成输入新项目。 我遇到麻烦的地方是我想从列表中删除一个项目。我的代码就像
...
Node *prevPtr = nil;
Node *curPtr = head;
while (curPtr != nil) {
if (some-condition) {
prevPtr.next = curPtr.next;
[curPtr release]; // cannot do with ARC
}
}
答案 0 :(得分:6)
代码是相同的,除了在ARC中你只需删除'release'行。编译器将隐式地为您添加它作为ARC编译的一部分。相信它做正确的事。