iPhone アプリの開発で大きな問題が発生しています。
完全なエラーは次のとおりです。
CoreData: error: Serious application error. Exception was caught during Core Data
change processing. This is usually a bug within an observer of
NSManagedObjectContextObjectsDidChangeNotification. -[TimeSpentStudying coordinate]:
unrecognized selector sent to instance 0x21db92d0 with userInfo (null)
2 つの coreData エンティティ (Locations と TimeSpentStudying) があるため、これは奇妙です。しかし、私はそれらが問題だとは思いません。コアデータクラスでプロパティを送信し[TimeSpentStudying coordinate]
ていないため、奇妙ですcoordinate
TimeSpentStudying
mapView をセットアップしました。ユーザーが mkannotationview の詳細開示ボタンをタップすると、新しいビュー (LibraryTrackTimeViewController) がポップアップしますが、ほとんど使用できません。viewDidLoad で NSLog を呼び出してみましたが、何も表示されませんでした。
mapViewController.m
#pragma mark - NSNotification
- (void)contextDidChange:(NSNotification *)notification
{
if ([self isViewLoaded]) {
[self updateLocations];
}
.
- (void)updateLocations
{
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Location" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
NSError *error;
NSArray * foundObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (foundObjects == nil) {
FATAL_CORE_DATA_ERROR(error);
return;
}
if (locations != nil) {
[self.mapView removeAnnotations:locations];
}
locations = foundObjects;
[self.mapView addAnnotations:locations];
}
-(void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:NSManagedObjectContextObjectsDidChangeNotification
object:self.managedObjectContext];
}
mapViewController.m の prepareForSegue メソッドに関係があると思われるエラー
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if (distance < 500) {
if ([segue.identifier isEqualToString:@"TrackLibraryTimes"]) {
UINavigationController *navigationController = segue.destinationViewController;
LibraryTrackTimeViewController *controller = (LibraryTrackTimeViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
}}
大まかな構文で申し訳ありません。SO に慣れてきたばかりです。さらにコードが必要な場合は、お知らせください。ありがとうございます。