私は過去3時間からこのエラーを理解しようとしています。検索することで、このエラーがメモリ管理に関連していることがわかりましたが、自分が間違っていることを理解できませんでした。
私はこれらの4つのラベルを宣言しました:
@interface InteractiveHistory : UITableViewController {
UILabel *date;
UILabel *startTime;
UILabel *cal;
UILabel *duration;
}
次に、プロパティを作成して合成しました。viewDidLoadでは、次のようにすべてを初期化しました。
date = [[UILabel alloc] init];
また、dealloc()メソッドでそれらの割り当てを解除しました。
私がやりたいのは、これらの4つのラベルを使用して、テーブルのセルにテキストを書き込むことです。テキストはindexPathに依存します。
cellForRowAtIndexPathメソッドで、2つのラベルを表示し、エラー行を示しています。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
NSLog(@"constructing cell");
//set up labels text
date = [NSString stringWithFormat:@"%@",[[int_data objectAtIndex:indexPath.row] objectForKey:@"Date"]];
NSLog(@"%@",date.text); //App crashes at this line
[date setTag:1];
startTime = [NSString stringWithFormat:@"%@",[[int_data objectAtIndex:indexPath.row] objectForKey:@"Start Time"]];
//setting tag and position of label
[startTime setTag:2];
CGRect labelpos = startTime.frame;
labelpos.origin.y = date.bounds.size.height + 2;
startTime.frame = labelpos;
NSLog(@"labels set");
// Configure the cell...
[[cell contentView] addSubview:date];
[[cell contentView] addSubview:startTime];
[[cell contentView] addSubview:duration];
[[cell contentView] addSubview:cal];
NSLog(@"A cell set");
}
return cell;
}
誰かplzは私が間違っていることを教えてもらえますか?私の質問が明確であることを願っています。