格拉布吉是一个附带的iOS组件,可以方便地从Facebook、FlickR、Instagram、Picasa导入照片。
在Grabkit中,GRKXXXQuery是一个包装器,它将基于委托的查询转换为基于块的查询,GRKXXXGrabber是一个基于块的类,它使用GRKXXXQuery从云服务中获取照片。
以GRKFlickrXXX为例。GRKFlickrGrabber有一个存储查询的NSMutableArray (在超类GRKServiceGrabber中)。在方法albumsOfCurrentUserAtPageIndex:withNumberOfAlbumsPerPage:andCompleteBlock:andErrorBlock:中,通过调用registerQueryAsLoading:创建了一个查询(GRKFlickrQuery)并将其存储在NSMutableArray中。查询以块作为参数,而在GRKFlickrQuery中,这些块作为实例变量存储。在这些块中有self
简单: GRKFlickrGrabber -> NSMutableArray(_queries) -> GRKFlickrQuery(查询) ->块-> GRKFlickrGrabber(self)
所以这里有一个保留周期。但是当我使用仪器分析Grabkit演示时,没有泄漏。他们用了什么技巧打破了retian循环吗?
https://stackoverflow.com/questions/17905488
复制相似问题