相关疑难解决方法(0)

无法找到NSManagedObject的特定子类

我正在开发一个使用Core Data的应用程序.当我使用以下方法创建实例时:

let entity = NSEntityDescription.entityForName("User", inManagedObjectContext: appDelegate.managedObjectContext)
let user = User(entity: entity, insertIntoManagedObjectContext: appDelegate.managedObjectContext)
Run Code Online (Sandbox Code Playgroud)

我在日志中收到警告:

CoreData: warning: Unable to load class named 'User' for entity 'User'.  Class not found, using default NSManagedObject instead.
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

另一个问题是,如何在NSManagedObject子类中定义实例方法?

编辑:

我已经指定了实体的类,如下面的屏幕截图所示:

在此输入图像描述

core-data nsmanagedobject ios swift

131
推荐指数
7
解决办法
4万
查看次数

更新到Xcode 6.0后,创建NSManagedObject子类不生成属性

更新到Xcode版本6.0(6A313)后,当我向xcdatamodeld条目添加新属性时,"创建NSManagedObject子类"不会将新属性添加到生成的头文件中.关闭Xcode 6,然后运行版本5.1.1(5B1008)后,此工作正常.我重复这个过程几次,结果相同.我是否需要做一些事情来允许新的Xcode版本正确管理我的数据模型,或重新创建它们,或者这可能只是新Xcode的一个错误?

以下是我采取的具体步骤:
1.在Xcode 6.0(GM Seed)中打开DataModel.xcdatamodeld.
2.选择正确的实体
3.单击+添加新属性
4. 为新属性输入名称和选定的布尔类型
5.编辑 - >创建NSManagedObject子类
6.确保选中正确的数据模型,单击下一步
7.确保选中正确的实体,单击下一步
8.选择要保存的位置(使用根项目文件夹),选择创建
9.在对话框中选择"替换"
10.在生成的头文件中查找变量.变量不存在.
11.关闭Xcode6
12.重复Xcode 5.1.1中的步骤1-10,正确工作
13.重复此过程两次以验证相同的结果

谢谢你的帮助!

xcode

25
推荐指数
1
解决办法
5668
查看次数

FetchRequest - NSArray元素无法匹配Swift数组元素类型 - Swift 2.0

我想做一个NSFetchRequest将我的数据显示到UICollectionView:

import UIKit
import CoreData

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDelegate.managedObjectContext
class GarageViewController: UIViewController, UICollectionViewDelegate,UICollectionViewDataSource {

@IBOutlet weak var backgroundView: UIImageView!

@IBOutlet weak var collectionView: UICollectionView!

var voitures: [Voiture]  = [Voiture]()

override func viewDidLoad() {
    super.viewDidLoad()

    collectionView.reloadData()

    let fetchRequest = NSFetchRequest(entityName: "Voiture")
    fetchRequest.resultType = .DictionaryResultType

    do {
        try voitures = context.executeFetchRequest(fetchRequest) as! [Voiture]
    }
    catch let fetchError as NSError {
        print("VoitureFetch error: \(fetchError.localizedDescription)")
    }

    if (voitures.count > 0) {
        for …
Run Code Online (Sandbox Code Playgroud)

iphone core-data nsfetchrequest ios swift

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

无法访问NSManagedObject子类的属性(给出EXC_BAD_ACCESS)

我是使用Swift的Core Data中的菜鸟.我有一个NSManagedObject类看起来像这样:

import Foundation
import CoreData

class Polls: NSManagedObject {

@NSManaged var title: String
@NSManaged var pollDescription: String

}
Run Code Online (Sandbox Code Playgroud)

在UITableViewController子类中,我有一个获取这些对象的方法,如下所示:

func refreshPolls()
{
    //do the query to populate the array
    let req = NSFetchRequest(entityName: "Polls")
    self.polls = self.managedObjectContext?.executeFetchRequest(req, error: nil) as! [Polls]
    println(polls.count)
}
Run Code Online (Sandbox Code Playgroud)

请注意,它self.polls被定义为"轮询"对象的数组.

现在,cellForRowAtIndexPath:我只是这样做:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell:UITableViewCell
    if indexPath.row==0
    {
        cell = tableView.dequeueReusableCellWithIdentifier("EditPollCell") as! UITableViewCell
    }
    else
    {

        let poll:Polls = self.polls[indexPath.row-1] as …
Run Code Online (Sandbox Code Playgroud)

core-data ios swift

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

标签 统计

core-data ×3

ios ×3

swift ×3

iphone ×1

nsfetchrequest ×1

nsmanagedobject ×1

xcode ×1