使用多个基本URL和多个对象管理器(RestKit)

时间:2014-03-01 15:38:33

标签: ios api restkit

我正在尝试在iOS应用中使用两个API。

我正在使用RestKit并按照本文的指南进行操作:https://github.com/RestKit/RestKit/wiki/Using-Multiple-Base-URLs-(and-Multiple-Object-Managers)

我该怎么做而不是此代码中的retain,因为它不再是一个选项?

AppDelegate.m

RKObjectManager *flickrManager = 
        [RKObjectManager objectManagerWithBaseURL:flickrBaseUrl]; // <-- shared singleton
RKObjectManager *foursquareManager = 
        [[RKObjectManager objectManagerWithBaseURL:foursquareBaseUrl] retain]; // <-- you must retain every other instance.

1 个答案:

答案 0 :(得分:1)

您希望将所有对象管理器存储在某处。如果使用ARC,则不保留,您希望存储在数组/字典(可能包含URL的键)/ properties(strong)中。

在您显示的示例代码中,不保留第一个对象管理器,因为RestKit为您保存了一个引用(单例)。通常,在使用多个对象管理器时,您希望忽略单例存储并自行管理所有对象管理器引用。

我建议使用一个数据控制器,它在内部隐藏对象管理器属性,而是根据您的数据模型对象公开API。在内部,它可以为它收到的每个请求选择适当的对象管理器。