Одно табличное представление из двух APIIOS

Программируем под IOS
Ответить
Anonymous
 Одно табличное представление из двух API

Сообщение Anonymous »

Можно ли мне заполнить один UITableView двумя отдельными веб-API? Я уверен, что есть, но не могу этого понять.
В настоящее время я отлично использую один веб-API; но мне нужно извлечь из другого, а затем объединить их в один UITableView.
(я использую RestKit)
(Второй API, который я пытаюсь интегрировать, — это Instagram, он будет извлекать изображения/текст из учетной записи пользователя)
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// RestKit
NSString *baseURL = @"http://api.firstwebsite.com/v1";
RKObjectManager *manager = [RKObjectManager sharedManager];

if (!manager) {
manager = [RKObjectManager objectManagerWithBaseURLString:baseURL];
manager.client.serviceUnavailableAlertEnabled = YES;
manager.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES;
} else {
manager.client.baseURL = [RKURL URLWithString:baseURL];
}

return YES;
}

WebListViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:
[NSString stringWithFormat:
@"/something/?limit=100&something=%@&something=%@&apikey=xxxx", var1, var2]
usingBlock:^(RKObjectLoader *loader) {
loader.onDidLoadObjects = ^(NSArray *objects){

hArray = objects;

[_tableView reloadData];

};
[loader.mappingProvider setMapping:[Fe mapping] forKeyPath:@"fe"];
loader.onDidLoadResponse = ^(RKResponse *response){
//NSLog(@"BodyAsString: %@", [response bodyAsString]);
};
}];
}

Я предполагаю, что мне нужно будет сделать что-то другое в AppDelegate.m с помощью baseURL, поскольку у него будет два разных базовых URL-адреса.
Я предполагаю, что мне нужно будет сделать что-то другое в AppDelegate.m с baseURL, поскольку у него будет два разных базовых URL-адреса.
p>
При необходимости будет опубликован дополнительный код!
РЕДАКТИРОВАТЬ
За ответ alexandresoli вот что я обновил, но все еще нуждаюсь в помощи на:
WebListViewController.m
@property (strong, nonatomic) NSMutableArray *array;
@synthesize array;

- (void)callBothURLs {
// Call both #1 and #2 URL, not sure what specific code goes here
}

- (void)viewDidLoad {
[self callBothURLs];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// This is what I currently have, was pulling from a `Headlines` `NSArray` from web #1
return headlinesArray.count;
// I believe I need to change it to this next line...
//return array.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Not sure what to put here with the new `NSMutableArray`
}

РЕДАКТИРОВАНИЕ 2
У меня уже настроено сопоставление объектов для первого веб-сайта, поэтому я могу легко это сделать часть API Instagram. Кажется, все мои путаницы/проблемы связаны с WebListViewController. В любом случае, вот пример сопоставления.
Mapping.h
@interface Mapping : NSObject

@property (nonatomic, strong) Links *links;
@property (nonatomic, strong) NSString *headline;
@property (nonatomic, strong) NSArray *images;

+ (RKObjectMapping *) mapping;

@end

Mapping.m
@implementation Mapping

+ (RKObjectMapping *)mapping {
RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class] usingBlock:^(RKObjectMapping *mapping) {
[mapping mapKeyPathsToAttributes:
@"headline", @"headline",
nil];
[mapping hasMany:@"images" withMapping:[Images mapping]];
}];

return objectMapping;
}

@end


Подробнее здесь: https://stackoverflow.com/questions/217 ... m-two-apis
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»