0

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] をクリックすると、コースの名前が別のテーブル ビューに表示されるようになります。他のテーブル ビューに配置した後、ユーザーが他のテーブル ビューからクラスを追加したり、クラスを削除したりできるようにしたいと考えています。また、スケジュールをデバイスに保存したいです。

提案は素晴らしいでしょう!

4

1 に答える 1