如何更改此功能以从API中随机加载内容?我想传入一个随机整数并更改网址的结束点。
NSString* WebServiceURL =@"http://movie-quotes.herokuapp.com/api/v1/quotes";
到这个
http://movie-quotes.herokuapp.com/api/v1/quotes/2
最后的数字是报价编号
以下是我的相关代码:
-(void)LoadQuotesRandom
{
randomQuotes = nil;
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
// Load the JSON string from our web serivce (in a background thread)
NSDictionary * dictionary = [JSONHelper loadJSONDataFromURL:WebServiceURL];
dispatch_async(dispatch_get_main_queue(), ^{
randomQuotes = [NSMutableArray array];
// Iterate through the array of Customer records in the dictionary
for (NSDictionary * oneQuote in dictionary)
{
Quotes* newQuotes =[[Quotes alloc] init];
// Add our new Customer record to our NSMutableArray
newQuotes.Quote = [oneQuote objectForKey:@"content"];
newQuotes.FilmName =[oneQuote objectForKey:@"film"];
[randomQuotes addObject:newQuotes];
}
});
});
}
答案 0 :(得分:0)
为了更简单地重述,我想你想要一个带有随机整数后缀的url字符串。
NSInteger randomInt = arc4random_uniform(SOME_MAX);
NSString *baseUrl = @"http://movie-quotes.herokuapp.com/api/v1/quotes";
NSString *webServiceUrl = [NSString stringWithFormat:@"%@/%ld", baseUrl, randomInt];
您需要#define SOME_MAX获取可以请求的最大报价索引。
我建议您将完全分开,以获取发出请求的代码。在给定描述url的字符串的情况下获取一个可以执行任何请求的工作,以及生成这些url字符串的单独部分。