Справка NSManagedObjectContext - PullRequest
       13

Справка NSManagedObjectContext

0 голосов
/ 24 апреля 2011

Я просто экспериментирую и пытаюсь учиться. У меня есть простой вид с 1 текстовым полем, меткой и кнопкой сохранения. Когда кнопка нажата, я хочу сохранить данные в текстовом поле в основные данные и обновить метку. Спасибо

Inside DailyClinicalPerformanceRecord.m

- (IBAction)btnSave:(id)sender {

DailyClinicalPerformanceRecord* delegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext* managedObjectContext = delegate.managedObjectContext;
NSManagedObject* newForm;


newForm = [NSEntityDescription insertNewObjectForEntityForName:@"DCPR" inManagedObjectContext:managedObjectContext];
[newForm setValue:txtIncidentNum.text forKey:@"indidentNum"];

txtIncidentNum.text = @"";

NSError *error;
[managedObjectContext save:&error];
status.text = @"Form Saved";

}

Внутри DailyClinicalPerformanceRecord.h

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>


@interface DailyClinicalPerformanceRecord : UIViewController<UIApplicationDelegate>{

UITextField *txtIncidentNum;
UILabel *status;
}

@property (nonatomic, retain) IBOutlet UITextField *txtIncidentNum;
@property (nonatomic, retain) IBOutlet UILabel *status;

- (IBAction)btnSave:(id)sender;
- (IBAction)btnBack:(id)sender;
- (void)dismissKeyboard;


@end

Я получаю ошибку:
/Users/specked/Programs/EMTDocs/EMTDocs/DailyClinicalPerformanceRecord.m:67: error: request for member 'managedObjectContext' in something not a structure or union

и предупреждение /Users/specked/Programs/EMTDocs/EMTDocs/DailyClinicalPerformanceRecord.m:66: warning: type 'id <UIApplicationDelegate>' does not conform to the 'NSCoding' protocol

1 Ответ

0 голосов
/ 24 апреля 2011

Немного сложно дать однозначный ответ на ваш вопрос, так как вы не дали никаких подробностей о том, в чем проблема. Но вот несколько вещей для проверки:

  • Убедитесь, что вы установили соединения с объектами txtIncidentNum и status вместе с методом btnSave в Интерфейсном Разработчике
  • Убедитесь, что вызывается btnSave (NSLog удобен)
  • Удостоверьтесь, что managedObjectContext не равен nil

Кроме того, в этой строке что-то подозрительно:

DailyClinicalPerformanceRecord* delegate = [[UIApplication sharedApplication] delegate];

Смысл в том, что он внутри DailyClinicalPerformanceRecord.m. Если этот код находится в DailyClinicalPerformanceRecord.m, а DailyClinicalPerformanceRecord является вашим делегатом, вы можете получить свой managedObjectContext через себя и не перепрыгивать через эти обручи. Или это может указывать на более серьезную проблему и / или организационную проблему.

Надеюсь, один из этих пунктов поможет вам в этом. Если нет, пожалуйста, расширите свой вопрос более подробной информацией о том, что происходит, а что нет, когда вы нажимаете кнопку сохранения.

...