У меня есть allSpecialities array, и selectedSpecialities массив. Я загружаю эти массивы с сервера, анализирую их на объект и добавляя их в эти массивы. Теперь, я хочу проверить/снять некоторые особенности. Я пробовал с containsObject
, но это не работает, потому что эти объекты не находятся в одном месте памяти. Это код, который я сделал до сих пор, и он работает, но у меня есть проблема, как добавить их в этот массив. в cellForRowAtIndexPath
:Добавление/удаление объекта в изменяемый массив
for (Speciality *specTemp in self.selectedSpecialities) {
if (speciality.specialityId == specTemp.specialityId) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
break;
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
в didSelect
:
Speciality *speciality = [[Speciality alloc]init];
speciality = self.allSpecialities[indexPath.row];
NSMutableArray *tempSelectedSpecialities = [[NSMutableArray alloc]initWithArray:self.selectedSpecialities];
int i=0;
for (Speciality *tempSpeciality in tempSelectedSpecialities) {
if (tempSpeciality.specialityId == speciality.specialityId) {
[self.selectedSpecialities removeObjectAtIndex:i];
}
else {
}
i++;
}
[self.delegate companySpecialities:self.selectedSpecialities];
[self.specialitiesTableView reloadData];
начинающих ошибка: В didSelect, вы создаете Specialty объект, а затем сразу же перезаписать. Не делай этого. – gnasher729
Можете ли вы объяснить мне, как это сделать по-другому? – Stefan
'Specialty * speciality = self.allSpecialities [indexPath.row];' как это. – rptwsthi