XCode プロジェクトがあり、ビュー コントローラーの 1 つで、JSON を MySQL データベースからテーブル ビューに解析します。このアプリは、学校のスケジュールを作成するのに役立つアプリです。私がやりたいことは、ユーザーがテーブル ビューのセルをクリックすると、UIAlertView がポップアップし、学校のクラスを別のテーブルビューに追加するオプションが提供され、スケジュールの作成が開始されることです。これが私のコードの一部です。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"detailCell";
// ClassDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
ClassDetailCell *cell = (ClassDetailCell *)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ClassDetailCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
switch (indexPath.section) {
case 0:
cell.theLabel.text = nameString;
cell.detailLabel.text = @"Course Name";
break;
case 1:
cell.theLabel.text = teacher;
cell.detailLabel.text = @"Teacher";
break;
case 2:
cell.theLabel.text = location;
cell.detailLabel.text = @"Bulding & Room";
break;
case 3:
cell.theLabel.text = date;
cell.detailLabel.text = @"Date";
break;
case 4:
cell.theLabel.text = days;
cell.detailLabel.text = @"Days";
break;
case 5:
cell.theLabel.text = timeString;
cell.detailLabel.text = @"Time";
break;
case 6:
cell.theLabel.text = crn;
cell.detailLabel.text = @"CRN";
break;
case 7:
cell.theLabel.text = [addCLlass objectAtIndex:indexPath.row];
cell.detailLabel.text = @"Fall or Spring";
break;
default:
break;
}
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"classdetailcell.png"]];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Add This Class To Your Schedule?" message:@"Go Ahead!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"No Thanks!", nil];
[alert show];
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"OK"])
{
}
else if([title isEqualToString:@"No Thanks!"])
{
[self dismissModalViewControllerAnimated:YES];
}
}
didSelectRowAtIndexPath メソッドでポップアップする UIAlertView を取得できます。ユーザーが「No Thanks!」をクリックしたとき VC は適切に破棄されます。[OK] をクリックすると、コースの名前が別のテーブル ビューに表示されるようになります。他のテーブル ビューに配置した後、ユーザーが他のテーブル ビューからクラスを追加したり、クラスを削除したりできるようにしたいと考えています。また、スケジュールをデバイスに保存したいです。
提案は素晴らしいでしょう!