Я ищу помощь. Я пытался найти этот сайт и пытался изменить свой код, но я застрял. Моя проблема с отображением и редактированием целочисленного атрибута, хранящегося в coredata. У меня есть подробный вид, который использует UITableView. Кажется, правильно отображать целое число в ячейке, используя следующий код:
cell.textLabel.text = @"Set target";
cell.detailTextLabel.text = [match.set_target stringValue];
но, когда я пытаюсь отредактировать значение, передав его в UITextField в редактируемом представлении, оно неверно отображает целое число (например, 3 отображается как 53916). Я передаю значение в UITextField с помощью этого кода: (обратите внимание, editedObject - это NSManagedObject, numField - это UITextField, editedFieldKey - это NSString).
[numField setText:[NSString stringWithFormat:@"%d", editedFieldKey]];
Значения передаются в представление редактирования из подробного вида с использованием этого кода:
controller.editedFieldKey = @"set_target";
controller.editedFieldName = NSLocalizedString(@"Number of sets to win", @"set_legs");
Я могу отображать, редактировать и сохранять строки и даты, но не могу понять целые числа. Любая помощь будет оценена.
РЕДАКТИРОВАТЬ 1
У меня есть кнопки сохранения и отмены в окне редактирования. Кнопка сохранения вызывает:
- (IBAction)save {
// Set the action name for the undo operation.
NSUndoManager * undoManager = [[editedObject managedObjectContext] undoManager];
[undoManager setActionName:[NSString stringWithFormat:@"%@", editedFieldName]];
if (editingDate) {
[editedObject setValue:dateField.date forKey:editedFieldKey];
}
else if (editingNum) {
[editedObject setValue: [NSNumber numberWithInteger: [numField.text integerValue]] forKey: editedFieldKey];
}
else {
[editedObject setValue: textField.text forKey:editedFieldKey];
}
[self.navigationController popViewControllerAnimated:YES];
}
С кодом для отображения целого числа, установленным как:
[numField setText:[NSString stringWithFormat:"%d", [editedObject valueForKey:editedFieldKey]]];
У меня предупреждение о строке: передача аргумента 1 из StringwithFormat из несовместимого типа указателя.
При запуске происходит сбой с: + [NSString WithFormat:]: нераспознанный селектор, отправленный в класс 0x211d60 '