将NSMutableArray作为循环队列到NString中?

时间:2013-05-31 22:12:44

标签: ios objective-c nsstring nsmutablearray

如果有人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

1 个答案:

答案 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.
    }
}

当然,如果您的连接通话不必同步,则可以更轻松地完成。