相关疑难解决方法(0)

Swift 3中的managedObjectContext

我想通过这个示例代码来处理,其中使用Swift和CoreData来创建表.但是,使用Swift 3我无法使用它.最重要的是,我无法正确更换线路

// set up the NSManagedObjectContext
  let appDelegate = NSApplication.sharedApplication().delegate as! AppDelegate
  managedContext = appDelegate.managedObjectContext
Run Code Online (Sandbox Code Playgroud)

即使我发现了这个相关的问题(然而iOS不是OS X).如何替换产生错误消息的那段代码Value of type 'AppDelegate' has no member 'managedContext'

core-data swift3 macos-sierra

12
推荐指数
3
解决办法
1万
查看次数

核心数据模型似乎没有反映在应用程序中

我在Xcode 8 beta 1中遇到了Core Data的困难.旧的应用程序将编译并运行良好,但所有新应用程序编译并运行正常,直到尝试插入新的NSManagedObject.

最初我认为它与错误地删除旧的xcdatamodel并重新构建另一个有关,但在制作一个全新的应用程序并制作一个简单的实体"A"之后,我无法在运行时创建类A的对象.

我试过使用let a = A(context: myMOC)哪个返回错误:

类"MyApp.A"的NSManagedObject必须具有有效的NSEntityDescription.

尝试旧的let a = NSEntityDescription.insertNewObject(forEntityName: "A", into: context) as! A返回错误:

无法将"NSManagedObject_A_"(0x7fd114626f80)类型的值转换为"MyApp.A"(0x10d2fdf28).

我已经检查了我的xcdatamodel十几次,以确保我拼写正确的一切,并创建了一个新项目进行测试,以确保我没有在设置CD时出错.思考?

更新: xcdatamodel包内容是这样的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="11147.23" systemVersion="16A201w" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
    <entity name="Coordinate" syncable="YES" codeGenerationType="class">
        <attribute name="latitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="longitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES" syncable="YES"/>
        <relationship name="route" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Route" inverseName="coordinates" inverseEntity="Route" syncable="YES"/>
    </entity>
    <entity name="Route" syncable="YES" codeGenerationType="class">
        <attribute name="uuid" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="coordinates" …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift xcode8

9
推荐指数
1
解决办法
3502
查看次数

从容器应用程序和扩展程序访问核心数据

我正在开发应用程序并共享扩展并尝试使用核心数据.但是当我在扩展中插入项目时,这些项目仅在扩展中可见但不是从容器应用程序中可见(例如,我从应用程序执行NSFetchRequest并获得零项目,但在app中我得到> 0).我使用以下代码获取持久性容器:

lazy var persistentContainer: NSPersistentContainer = {

    let container = NSPersistentContainer(name: "appname")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error {

            fatalError("Unresolved error \(error)")
        }
    })
    return container
}()
Run Code Online (Sandbox Code Playgroud)

此外,还会检查appname.xcdatamodeld的目标成员应用程序和扩展程序.如何正确共享容器应用和扩展的核心数据?

core-data ios ios-app-extension ios10

9
推荐指数
1
解决办法
2311
查看次数

如何创建NSManagedObjectContext

在iPhone的核心数据中,我遇到了各种错误,试图将数据保存到NSManagedObjectContext.

我相信我的问题与我使用NSManagedObjectContext多线程中使用的问题有关.

所以我想创建一个新的NSManagedObjectContext并尝试,但我找不到简单创建新实例的示例代码...

我知道这很简单,但我真的很感激这里的任何帮助.

注意,我在Apple文档上看过这篇文章:http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/CoreDataUtilityTutorial/Articles/05_createStack.html

但是这使用了一些我不熟悉的代码,比如iPhone上不支持的XMLStore等.

iphone core-data nsmanagedobjectcontext

5
推荐指数
1
解决办法
2万
查看次数

NSPersistentContainer仅在10.0或更新版本中可用:错误

这是因为我的部署目标小于10.

如何解决部署目标低至10.0?

在此输入图像描述

iphone core-data ios swift ios10

5
推荐指数
1
解决办法
9334
查看次数

ios 10和ios 9中的NSManagedObjectContext(核心数据)

我有一个使用核心数据的应用程序,它支持ios 9以及ios 10.我正在使用xcode 8.2.1来开发这个项目.当应用程序在ios 10上运行时,AppDelegate文件有获取ManagedObjectContext的方法但是,当应用程序在ios 9上运行时,我如何获得它.我试图谷歌但没有任何帮助.任何帮助!

我用来获取ManagedObjectContext的代码在这里:

 NSManagedObjectContext *context = ((AppDelegate*)[[UIApplication sharedApplication] delegate]).persistentContainer.viewContext;
Run Code Online (Sandbox Code Playgroud)

core-data objective-c ios9 ios10

0
推荐指数
1
解决办法
5511
查看次数