Grabkit是一个 Drop-in iOS 组件,可轻松从 Facebook、FlickR、Instagram、Picasa 导入照片
在 Grabkit 中,GRKXXXQuery 是将基于委托的查询转换为基于块的查询的包装器。GRKXXXGrabber 是基于块的类,它使用 GRKXXXQuery 从云服务中获取照片。
以 GRKFlickrXXX 为例。GRKFlickrGrabber 有一个 NSMutableArray 存储查询(在超类 GRKServiceGrabber 中)。在方法albumsOfCurrentUserAtPageIndex:withNumberOfAlbumsPerPage:andCompleteBlock:andErrorBlock:
中,通过调用创建了一个查询(GRKFlickrQuery)并将其存储在 NSMutableArray 中registerQueryAsLoading:
。查询将块作为参数,在 GRKFlickrQuery 中这些块存储为实例变量。self
在这些街区中有
简单地说:GRKFlickrGrabber -> NSMutableArray(_queries) -> GRKFlickrQuery(query) -> block -> GRKFlickrGrabber(self)
所以这里有一个保留周期。但是当我使用仪器分析 Grabkit Demo 时,没有泄漏。他们是否使用了一些打破热天循环的技巧?