最初のビューで、ユーザーにログインまたは登録のオプションが与えられるアプリを作成しています。レジスタビューには、クリックすると、とUITableViewCell
を含むビューにユーザーが移動します。は正常に機能していますが、Web呼び出しを使用して表示するはずのデータを動的にプルするはずのが表示されていますが、完全に空白で表示されます。いくつかのステートメントを入力すると、を使用してデータをプルするモデルのメソッドが呼び出されないことに気付きました。以下のコードとメソッド、およびモデル内のデータをプルすることになっているメソッドを投稿しました。前もって感謝します。UITableView
UIPickerView
UITableView
UIPickerView
NSLog
AFNetworking
UIPickerViewDelegate
UIPickerViewDataSource
UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component {
return [[self.brain classChoicesForSignUp] objectAtIndex:row];
}
UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component {
size_t numberOfRows = [self.brain classChoicesForSignUp].count;
NSLog(@"Number of Rows: %@", [[NSNumber numberWithFloat:numberOfRows] stringValue]);
return numberOfRows;
}
SignUpPickerBrain.m
#import "SignUpPickerBrain.h"
#import "AFJSONRequestOperation.h"
@implementation SignUpPickerBrain
#pragma mark - Picker Data
- (NSArray *)classChoicesForSignUp {
NSLog(@"Class choices method called");
// Note that in my code, the actual URL is present here.
NSURL *url = [NSURL URLWithString:@"the URL"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Success!");
NSLog([JSON description]);
} failure:nil];
[operation start];
[operation waitUntilFinished];
NSLog([operation responseJSON]);
return [operation responseJSON];
}
@end