用核心数据属性填充数组
Posted
技术标签:
【中文标题】用核心数据属性填充数组【英文标题】:Filling an array with core data attributes 【发布时间】:2015-03-16 19:17:03 【问题描述】:我正在尝试填充我的数组。
var weights = []
具有来自 NSManaged 对象的属性。我的核心数据关系就像下面的 Client>Assessment。我在评估中有一个“权重”属性,我想用这些字符串值填充我的数组。我的变量:
var client: Client! = nil
成功检索到我选择的特定客户,但我不知道如何用该特定客户的评估属性(称为“权重”)的值填充我的数组。我只做到了……
client.assessment.count
这成功地向我显示了客户的评估数量,但是我如何访问我的阵列的每个评估的权重属性?
我的客户和评估管理对象类如下:
Client.swift
import Foundation
import CoreData
@objc(Client)
class Client: NSManagedObject
@NSManaged var assessment: NSSet
评估.swift
import Foundation
import CoreData
@objc(Assessment)
class Assessment: NSManagedObject
@NSManaged var weight: String
@NSManaged var client: Client
谁能帮我知道怎么做?
更新: 我在@Wain 的回答中得到的错误截图。
【问题讨论】:
【参考方案1】:您可以使用 KVC 获取一组权重:
var weights: NSSet! = client.assessment.valueForKey("weight")
然后您可以通过排序或仅请求所有对象从中提取一个数组。
【讨论】:
当我这样做时,我得到我的 viewcontroller.type “没有名为'client'的成员” 你说你有client.assessment.count
工作?错误到底在哪里?
权重变量。我会上传截图。
你在类中定义了这两个变量吗?您应该在函数中执行client.assessment.valueForKey
部分
好的,我知道了。不过,对我不起作用的一件事是,我需要权重数组是一个整数数组,现在它是我所理解的字符串数组,因为“权重”属性以文本字段的字符串形式存储到 CoreData。我如何使它成为一个 int 数组?以上是关于用核心数据属性填充数组的主要内容,如果未能解决你的问题,请参考以下文章
将核心数据加载到数组中,然后填充表视图,重新排序数组对象不会持久