NSString
リクエストの URL としてユーザー ID を使用する必要がある場合:
そしてNSMutableArray
、上記の呼び出しに一度に 1 つずつキューに入れたいという人がいましたか? したがって、基本的にNSString
からを 3 回呼び出しますNSMutableArray
。
複数の UITableView セルをチェックでき、完了すると、プッシュされたセル行にインデックスを付けることができます。それが今のところ userIDArray が使用されているものです。userIDArray から返された userID を使用して呼び出しを行いたいと思います。
for (NSDictionary* userIDDict in userIDArray)
{
userIDArray = [[NSMutableArray alloc] init]; //I put this line in my viewdidload
NSNumber* userID = [userIDDict objectForKey:@"UserID"];
}
UserIDArray はNSMutableArray
.
これは、NSLog
整数NSMutableArray
が 1、2、3 のいずれかになります。
UserID: 1
UserID: 2
UserID: 3
つまり、NSMultiTableArray
1、2、および 3 の結果を取得して、次の中で使用したいと考えていNSString
ます。
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"];
したがって、最初の呼び出しを行って結果を待ち、次に 2 番目、最後に 3 番目の呼び出しを行います。
これはできますか?キューとこれに関するこのリンクを検索しましたが、それらが必要なものかどうかわかりませんか?
UserDetailViewController.h ファイル:
@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
UserDetailViewController.m ファイル:
@interface UserDetailViewController ()
@end
@implementation UserDetailViewController
@synthesize userIDJson;
@synthesize userIDDict;
@synthesize checkedIndexPath;
@synthesize userIDArray;
@synthesize currentUserIndex;
- (void)viewDidLoad
{
[super viewDidLoad];
userIDArray = [[NSMutableArray alloc] init];
[self.navigationController setNavigationBarHidden:NO];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
//return self.loadedSearches.count;
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.userIDJson.count;
}
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] ;
}
cell.textLabel.text = self.userIDJson[indexPath.row][@"UserName"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if([self.checkedIndexPath isEqual:indexPath])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *userStringIndex = [self.userIDJson objectAtIndex:indexPath.row];
if (thisCell.accessoryType == UITableViewCellAccessoryNone)
{
thisCell.accessoryType = UITableViewCellAccessoryCheckmark;
[userIDArray addObject:userStringIndex];
}
else
{
thisCell.accessoryType = UITableViewCellAccessoryNone;
[userIDArray removeObject:userStringIndex];
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if (self.currentUserIndex < userIDArray.count) {
NSNumber* userID = [[userIDArray objectForIndex:currentUserIndex]objectForKey:@"UserID"];
//Make the actual request here, and assign the delegate.
NSString *userProfile = [NSString stringWithFormat:@"http://example.com/userid=%@",userID];
self.currentUserIndex++;
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:userProfile]];
NSString *userResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSURL *url = [[NSURL alloc] initWithString: userProfile];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
userIDJson = [NSJSONSerialization JSONObjectWithData:dataURL
options:kNilOptions
error:&error];
}
}
for (userIDDict in userIDArray)
{
NSNumber* userID = [userIDDict objectForKey:@"UserID"];
NSLog(@"%@", userID);
NSArray* userName = [userIDDict objectForKey:@"UserName"];
}