简体   繁体   中英

prepareForSegue comparing values from array and dictionary

I need help coding my prepareForSegue:

This TeamObject holds a teamID value, it can be, 55...65...etc.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"StandingsIdent";

    StandingsViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    TeamObject *item = [tableData objectAtIndex:[indexPath row]];

    long row = [indexPath row];

        if ([item isKindOfClass:[TeamObject class]]) {

            cell.cellTeamName.text = item.teamName;
            cell.cellTeamLogo.image = item.teamLogo;
            cell.cellPlayed.text = item.matchesPlayed;
            cell.cellWins.text = item.wins;
            cell.cellTies.text = item.ties;
            cell.cellLoses.text = item.loses;
            cell.cellPoints.text = item.points;
            cell.cellTeamPosition.text = _teamPosition[row];
            cell.cellInfo.text = _infoLeague[row];
        }

        else {

        }

My viewDidLoad, has a few dictionaries, that hold keys for each objects:

- (void)viewDidLoad {

    [super viewDidLoad];


    _testThis = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                    @"2", @"1478.png",
                    @"3", @"1487.png",
                    @"4", @"1489.png",
                    @"5", @"1494.png",
                    @"6", @"1474.png",
                    @"7", @"2390.png",
                    @"8", @"2433.png",
                    @"9", @"1488.png",
                    @"10", @"1481.png",
                    @"11", @"2383.png",
                    @"12", @"1476.png",
                    @"13", @"1495.png",
                    @"14", @"729500.png",
                    @"15", @"2386.png",
                    @"16", @"2445.png",
                    @"17", @"2393.png",
                    nil];

Now i need my prepareForSegue to do this logic, if teamId in TeamObject , matches team id in dictionary, send the info trough...

The way i have it coded it's static, and my teams change positions everyday, so i need this segue to know what he is doing when showing additional information.

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([[segue identifier] isEqualToString:@"teamDetailsSeg"]){


        TeamDetailsTableViewController *detailViewController = [segue destinationViewController];

        NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];
        long row = [myIndexPath row];

        if ([TeamObject o

        detailViewController.teamDetailModel = @[_teamFullNames[row], _teamLogos[row], _teamStadiumPictures[row], _teamStadiumNames[row], _stadiumCapacity[row], _stadiumBuiltYear[row], _clubFoundationDate[row], _teamCity[row], _clubPresident[row], _headCoach[row], _championshipsWon[row], _domesticCupsWon[row], _domesticLeagueCupsWon[row], _domesticSuperCupsWon[row], _championsleaguesWon[row], _europaleaguesWon[row], _europeanSuperCupsWon[row], _worldclubchampionshipsWon[row]];
    }
}

This is the code for my ExtraDetailsViewController , everything works, but it's static, so if tomorrow the team in 1st place drops to 2nd, the extra additional data will not be correct.

- (void)viewDidLoad
{
    [super viewDidLoad];

    _cellFullTeamName.text = _teamDetailModel[0];
    _cellTeamLogo.image = [UIImage imageNamed:_teamDetailModel[1]];
    _cellTeamStadium.image = [UIImage imageNamed:_teamDetailModel[2]];
    _cellStadiumName.text = _teamDetailModel[3];
    _cellStadiumCapacity.text = _teamDetailModel[4];
    _cellStadiumYear.text = _teamDetailModel[5];
    _cellClubYear.text = _teamDetailModel[6];
    _cellStadiumCity.text = _teamDetailModel[7];
    _cellPresident.text = _teamDetailModel[8];
    _cellCoach.text = _teamDetailModel[9];
    _cellDomesticChampionships.text = _teamDetailModel[10];
    _cellDomesticCups.text = _teamDetailModel[11];
    _cellDomesticLeagueCups.text = _teamDetailModel[12];
    _cellDomesticSupercups.text = _teamDetailModel[13];
    _cellChampionsLeagues.text = _teamDetailModel[14];
    _cellEuroLeagues.text = _teamDetailModel [15];
    _celLEuroSuperCups.text = _teamDetailModel[16];
    _cellIntertoto.text = _teamDetailModel [17];


}

Can anyone help?

Thanks.

TeamObject *item = [tableData objectAtIndex:row]; 

if([_testThis valueForKey:item.teamID]{
            //send data through 
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM