通过 coredata 实体绑定注释

Posted

技术标签:

【中文标题】通过 coredata 实体绑定注释【英文标题】:binding annotation by coredata entity 【发布时间】:2014-12-01 20:47:07 【问题描述】:

我使用下面的代码将地图中的注释与“联系人”实体绑定

//add each object in Contacts entity to map view
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"Contacts" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];
for (NSManagedObject *info in fetchedObjects) 
    NSLog(@"Name: %@", [info valueForKey:@"name"]);

    //initializetion latitude and longitude
    aLng=[[info  valueForKey:@"lng"] doubleValue];
    aLat=[[info  valueForKey:@"lat"] doubleValue];

    //if latitude and longitude not null
    if(aLng && aLat && aLng!=0.0 &&aLat!=0.0)
    
        //create a new Coordinate
        CLLocationCoordinate2D wimLocation;
        wimLocation.latitude=aLat;
        wimLocation.longitude=aLng;

        //create a new Annotation and initializetion it
        MKPointAnnotation * myAnnotation=[MKPointAnnotation alloc];
        myAnnotation.coordinate=wimLocation;
        myAnnotation.title=[info valueForKey:@"name"];


        //add create Annotation to mapview
        [self.mapview addAnnotation:myAnnotation];

        

它的工作非常好,但我有问题 1- 我想展示

[UIImage imageWithData:[info valueForKey:@"photo"]] 

而不是 pin 图像 2- 我如何在地图上获取选定的联系人(注释)以执行某些操作

【问题讨论】:

【参考方案1】:

使用MKAnnotationView 并设置其image 属性。

【讨论】:

请根据我的代码输入你的答案,它只显示我想要显示所有信息照片的照片之一

以上是关于通过 coredata 实体绑定注释的主要内容,如果未能解决你的问题,请参考以下文章

与此上下文的 CoreData SwiftUI 错误不同的 NSManagedObjectModel

保存 CoreData 上下文和绑定问题

当项目更改时,CoreData 绑定的 NSTableView 会失去输入焦点,但前提是已排序

数据插入上的核心数据级联

CoreData 在一个单独的线程中

NSArrayController,以编程方式创建 CoreData 实体,以及 KVO