さて、ここ数日頭を悩ませていたのはこれです。テーブル ビューのカスタム セルを作成しました。このセル用に別のクラス (customCell.h) を作成し、それらを Xcode でリンクしました。カスタム セルには、カスタム セルの .h ファイルで宣言し、ストーリーボードを介してカスタム セルにリンクした 4 つの UIlabels があります。
customCell.h ヘッダー ファイルをテーブル ビュー コントローラーの .h ファイルにインポートしました。
Twitter で検索を行い、テーブル ビューとカスタム セルにさまざまなツイートの詳細を入力しようとしています。問題は、ツイートの結果をカスタム セルの 4 つの UIlabel アウトレットにリンクする方法がわからないことです。
テーブル ビュー実装ファイルでカスタム セルのアウトレットの一部を宣言すると (カスタム セルの .h ファイルをインポートしたにもかかわらず)、xcode は名前を認識しないと言っています。
できる限り、以下の詳細なコーディングをコピーしました。どんな助けでも大歓迎です。前もって感謝します
- (void)fetchTweets
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* data = [NSData dataWithContentsOfURL:
[NSURL URLWithString: @"THIS IS WHERE MY TWITTER SEARCH STRING WILL GO.json"]];
NSError* error;
tweets = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
});
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return tweets.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"TweetCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
NSString *text = [tweet objectForKey:@"text"];
NSString *name = [[tweet objectForKey:@"user"] objectForKey:@"name"];
NSArray *arrayForCustomcell = [tweet componentsSeparatedByString:@":"];
cell.textLabel.text = text;
cell.detailTextLabel.text = [NSString stringWithFormat:@"by %@", name];
return cell;
}