如果有人NSString
需要将userid用作请求的网址:
有一个NSMutableArray
,他想一次一个队列进入上述呼叫?所以基本上从NSString
进行3次NSMutableArray
来电。
可以检查多个UITableView单元格,一旦完成,我可以索引推送的单元格行。这就是userIDArray现在使用的内容我想用userID从userIDArray回来调用。
for (NSDictionary* userIDDict in userIDArray)
{
userIDArray = [[NSMutableArray alloc] init]; //I put this line in my viewdidload
NSNumber* userID = [userIDDict objectForKey:@"UserID"];
}
UserIDArray是NSMutableArray
。
这将是来自NSLog
的{{1}}整数将是1,2和3。
NSMutableArray
换句话说,我想将UserID: 1
UserID: 2
UserID: 3
1,2和3的结果用于NSMultiTableArray
:
NSString
所以我会先拨打电话然后等待结果,然后是第二个,最后是第三个。
可以这样做吗?我搜索了link关于队列和one的问题,但我不确定这些是否是我需要的?
UserDetailViewController.h文件:
NSString *userProfile = [NSString stringWithFormat:@"http://example.com/userid=1"];
NSString *userProfile = [NSString stringWithFormat:@"http://example.com/userid=2"];
NSString *userProfile = [NSString stringWithFormat:@"http://example.com/userid=3"];
UserDetailViewController.m文件:
@interface UserDetailViewController : UIViewController <UITableViewDelegate>{
long long expectedLength;
long long currentLength;
UITableView *userTableView;
NSIndexPath* checkedIndexPath;
}
@property (nonatomic, retain) NSArray *userIDJson;
@property (strong, nonatomic) NSDictionary *userIDDict;
@property (nonatomic, retain) NSIndexPath* checkedIndexPath;
@property (nonatomic, strong) NSMutableArray *userIDArray;
@property (nonatomic) NSInteger currentUserIndex;
@end
答案 0 :(得分:0)
NSURLConnection
可以通过构造函数initWithRequest:delegate:
接受委托。因此,您需要使调用符合该协议的对象,我假设它是UIViewController
。您可以在委托中使用其中一个必需的方法来启动下一个请求。
例如,假设您具有指示当前索引的属性。
@property (nonatomic) NSInteger currentUserIndex;
然后在将触发第一个请求的位置,为第一个用户拨打电话。在某些委托方法中,请说connectionDidFinishLoading:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if (self.currentUserIndex < self.userIDArray.count) {
NSNumber* userID = [[self.userIDArray objectAtIndex:self.currentUserIndex] objectForKey:@"UserID"];
self.currentUserIndex++;
//Make the actual request here, and assign the delegate.
}
}
当然,如果您的连接通话不必同步,则可以更轻松地完成。