NSFoundation weak collection

2017-08-23  本文已影响16人  偶是星爷

从iOS 6.0开始,系统提供了NSPointerArray,用于保存弱引用的指针。

示例

// 创建
thePlayers = [NSPointerArray weakObjectsPointerArray];

// 添加
[thePlayers addPointer:(__bridge void * _Nullable)(self)];

// 查找
for (Player *p in thePlayers]) {
    if (p) {
        // 可能为nil
    }
}

// 去除已释放的指针
[thePlayers addPointer:nil];  // 一定要加这个
[thePlayers compact];

// 没有removePointer,需要自己遍历
上一篇 下一篇

猜你喜欢

热点阅读