サーバーからの応答のヘッダーにある必要なリンクを解析しています。私のヘッダーは次のようになります
Access-Control-Allow-Origin → * Age → 0 Cache-Control → private,must-revalidate
接続→キープアライブ
Content-Encoding → gzip Content-Type → application/json
日付 → 2015 年 6 月 13 日(土) 15:58:56 GMT ETag → W/"cb38bb07f1635fd6aba5969985bf0607"
リンク → http://thisIsCurrentlink&limit=24 ; rel="次へ", http://thisIsLastlink&limit=24 ; rel="最後", http://thisIsFirstlink&limit=24 ; rel="最初",<>; rel="前"
サーバー → nginx
Vary → Accept-Encoding
X-Total-Count → 131
転送エンコーディング → チャンク
これにより、links
すべてのリンクを含む配列を取得できます
NSString *linkHeader = [(NSHTTPURLResponse *)operation.response allHeaderFields][@"Link"];
NSArray *links = [linkHeader componentsSeparatedByString:@","];
次に、必要なすべてのリンクを取得するために次のことを行っています
RACSequence *sequence = [links.rac_sequence map:^id(NSString* item) {
NSError *error;
NSLog(@"item is %@",item);
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<(.*)>" options:0 error:&error];
NSString *actualLink;
if (regex != nil) {
NSTextCheckingResult *result = [regex firstMatchInString:item
options:0
range:NSMakeRange(0, item.length)
];
if (result) {
NSRange range = [result rangeAtIndex:1];
actualLink = [item substringWithRange:range];
NSLog(@"actualLink is %@",actualLink);
return [RACSequence return:actualLink];
}
}
return [RACSequence empty];
}];
現在sequence
、すべてのリンクが含まれています
http://thisIsCurrentlink&limit=24
http://thisIsLastlink&limit=24
http://thisIsFirsttlink&limit=24
私の質問は、上から各アイテムにアクセスするにはどうすればよいですかsequence