标签: weak-references


在ARC中总是将自我的弱引用传递给阻塞?

我对Objective-C中的块使用有点困惑.我目前使用ARC,我的应用程序中有很多块,目前总是指代self而不是弱引用.这可能是这些区块保留self并防止被解除分配的原因吗?问题是,我应该总是使用块中的weak引用self吗?

-(void)handleNewerData:(NSArray *)arr
{
    ProcessOperation *operation =
    [[ProcessOperation alloc] initWithDataToProcess:arr
                                         completion:^(NSMutableArray *rows) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self updateFeed:arr rows:rows];
        });
    }];
    [dataProcessQueue addOperation:operation];
}
Run Code Online (Sandbox Code Playgroud)

ProcessOperation.h

@interface ProcessOperation : NSOperation
{
    NSMutableArray *dataArr;
    NSMutableArray *rowHeightsArr;
    void (^callback)(NSMutableArray *rows);
}
Run Code Online (Sandbox Code Playgroud)

ProcessOperation.m

-(id)initWithDataToProcess:(NSArray *)data completion:(void (^)(NSMutableArray *rows))cb{

    if(self =[super init]){
        dataArr = [NSMutableArray arrayWithArray:data];
        rowHeightsArr = [NSMutableArray new];
        callback = cb;
    }
    return self;
}

- (void)main {
    @autoreleasepool {
        ...
        callback(rowHeightsArr);
    }
}
Run Code Online (Sandbox Code Playgroud)

iphone weak-references objective-c ios automatic-ref-counting

249
推荐指数
4
解决办法
10万
查看次数

弱引用和无引用引用之间有什么区别?

斯威夫特有:

  • 强引用
  • 弱参考
  • 无主参考文献

无主参考如何与弱参考不同?

什么时候使用无主参考安全?

无主引用是否存在安全风险,如C/C++中的悬空指针

memory-management weak-references automatic-ref-counting dangling-pointer swift

232
推荐指数
4
解决办法
7万
查看次数

如何在Swift中声明一个弱引用数组?

我想在Swift中存储一组弱引用.数组本身不应该是弱引用 - 它的元素应该是.我认为Cocoa NSPointerArray提供了非类型安全版本.

weak-references automatic-ref-counting nspointerarray swift

171
推荐指数
10
解决办法
3万
查看次数

Java:强/弱/弱/幻像参考之间的区别

我已经阅读了关于这个主题的这篇文章,但我真的不明白它.在描述概念时,请给我一些建议和示例.

java reference weak-references phantom-reference soft-references

164
推荐指数
7
解决办法
8万
查看次数

你什么时候使用WeakHashMap或WeakReference?

使用弱引用是我从未见过的实现,所以我试图弄清楚它们的用例是什么以及实现如何工作.什么时候需要使用WeakHashMap或者WeakReference它是如何使用的?

java weak-references

161
推荐指数
5
解决办法
6万
查看次数

如何在Java和Android开发中使用WeakReference?

我是一名Java开发人员已有2年.

但我从来没有在我的代码中写过WeakReference.如何使用WeakReference使我的应用程序更高效,尤其是Android应用程序?

java android weak-references

159
推荐指数
4
解决办法
8万
查看次数

弱引用是否有实际用途?

可能重复:
弱引用 - 它们有用吗?

由于垃圾收集器可以随时声明弱引用,是否有任何实际的理由使用它们?

java garbage-collection weak-references

94
推荐指数
5
解决办法
2万
查看次数

是否可以在javascript中创建"弱引用"?

在javascript中是否有任何方法可以创建另一个对象的"弱引用"?这是描述弱引用的维基页面. 这是另一篇用Java描述它们的文章.谁能想到在javascript中实现这种行为的方法?

javascript weak-references

88
推荐指数
4
解决办法
3万
查看次数

了解Java的Reference类:SoftReference,WeakReference和PhantomReference

有人可以解释三个参考类之间的区别(或发布链接到一个很好的解释)?SoftReference> WeakReference> PhantomReference,但当我会用每一个?为什么会出现WeakHashMap,但没有SoftHashMapPhantomHashMap

如果我使用以下代码......

WeakReference<String> ref = new WeakReference<String>("Hello!");
if (ref != null) {                 // ref can get collected at any time...
    System.gc();                   // Let's assume ref gets collected here.
    System.out.println(ref.get()); // Now what?!
}
Run Code Online (Sandbox Code Playgroud)

...怎么了?我是否必须ref在每个语句之前检查是否为null(这是错误的,但我应该怎么做)?对不起快速问题,但我无法理解这些Reference课程......谢谢!

java reference weak-references phantom-reference soft-references

80
推荐指数
2
解决办法
2万
查看次数