Swift:反映 NSManagedObject 子类的属性

2024-02-04

当使用 Mirror 访问 NSManagedObject 子类的内部结构时,所有托管变量都将被忽略。

public class Foo: NSManagedObject {
   @NSManaged var bar: String?
}

var f: Foo = ...
// ... creating a Foo in a valid context ...

let mirror = Mirror(reflecting: f)
for c in mirror.children {        // children count == 0
  print("\(c.label!):\(c.value)") // never executed
}

如何在 NSManagedObject 上使用反射机制。


综合了 Core Data 属性的访问器方法 在运行时动态地。

您可以使用以下方法枚举核心数据实体的属性 这entity的财产NSManagedObject这是一个NSEntityDescription并有一个attributesByName财产。

一个简单的例子:

for (name, attr) in  newManagedObject.entity.attributesByName {
    let attrType = attr.attributeType // NSAttributeType enumeration for the property type
    let attrClass = attr.attributeValueClassName ?? "unknown"
    print(name, "=", newManagedObject.valueForKey(name), "type =", attrClass)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift:反映 NSManagedObject 子类的属性 的相关文章

随机推荐

  • 颤动键盘完成按钮导致文本字段内容消失

    我的表单中有 2 个文本字段 当我单击第二个文本字段中键盘上的 完成 按钮时 键盘会隐藏 两个文本字段都会变空 当我手动关闭键盘时也会发生同样的情况 然后文本字段的内容也会丢失 看起来每次发生这种情况屏幕都会刷新 为什么会这样呢 overr
  • Android - Matcher.find() 无限

    我已经实现了 AsyncTask 其中用户提供的正则表达式用于匹配巨大的 html 代码数据 然而 由于某些正则表达式包含大量量词 回溯 Matcher find 会变得无限 我尝试过使用可中断字符序列此处提供 当 Matcher find
  • Spring Boot 令牌认证

    我尝试为另一个应用程序登录 Spring Boot 应用程序并使用 Spring Security 生成令牌 我试图实现的目标 用户名和密码发送到 REST 控制器 如果用户名和密码正确 我想生成具有 30 分钟过期时间的令牌并将其发送回用
  • ASP.NET 站点地图,有多重要?

    我的网站已经完成了 至少我是这么想的 我没有站点地图 奇迹般地我错过了站点地图的整个概念 甚至不知道它是一件事 我想我要向我的计算机老师大喊一声 我一直在阅读它 动态生成站点地图似乎相当复杂 我必须这样做 因为我的页面基本上只是一个使用参数
  • WPF:如何创建自定义项目控制面板?

    我想设计一个自定义项目控制面板ListBox 有3个要求 It should have the properties int rows and int columns which would define the matrix of cel
  • 设置 DOWNLOAD_DELAY 时 scrapy CONCURRENT_REQUESTS 被忽略?

    查看 scrapy 统计数据 Crawled X pages at X pages min 在我看来 一旦 例如 DOWNLOAD DELAY 4 5 设置后 请求将变为连续的 无论什么CONCURRENT REQUESTS塞特林群岛 根据
  • 如何读取匿名类型的属性?

    我有一个返回的方法 return new System Web Mvc JsonResult Data new Status OK 我需要编写一个单元测试来验证这一点jsonResult Data status OK 如何读取状态属性 更新
  • couchDB 中的链式映射/归约

    在 couchDB 中 我有一组如下所示的项目 为了示例而简化 id 1 date Jul 1 user user1 id 2 date Jul 2 user user1 id 3 date Jul 3 user user2 etc 我想获
  • 实体框架修改分离对象

    我有一些困惑 源于此http msdn microsoft com en us library vstudio bb896248 v vs 100 aspx http msdn microsoft com en us library vst
  • Laravel 检查用户电子邮件是否已验证

    您好 我想检查用户电子邮件是否仅在控制器中的一个功能中进行验证 我不想在中间件或路径中设置检查 如下所示 public function construct this gt middleware verified 因为控制器可供访客访问 所
  • 没有分支或移位的绝对值,只有加/减和布尔值

    我们在学校为想要自我测试的学生遇到了这个问题 我在这方面花了相当长的时间 但无法弄清楚 AX 寄存器中有 16 位数字 该数字是有符号的 得到它的 绝对值 AX中的数字必须不变 编辑 寄存器数量没有限制 并且 AX 寄存器可以更改 但在函数
  • Azure API应用程序的IP地址以及如何限制IP

    我已经部署了用 Java Servlet 编写的 API 应用程序 我想知道的是 我的 API 应用程序的 IP 地址以及仅允许来自一两个 IP 地址的请求的方式 这意味着我想限制除这些 IP 之外的所有 IP 似乎一旦我在一个地区部署多个
  • Eclipse 上的自动代码完成

    我希望 Eclipse 在我编写一些变量 类名称或关键字时自动向我建议所有可能的选项 就像在 Flash Develop 或 Visual Studio 中一样 是否可以 如果没有 我可以使用哪个 Java IDE 获得这个 I m spe
  • SQL 和唯一的 n 列组合

    Oracle 有没有一种简单的方法来查询 n 个字段的唯一组合 我有非常简单的两场解决方案 CREATE TABLE combinations AS SELECT 1 AS n FROM DUAL UNION ALL SELECT 2 FR
  • 如何使用 ng-style 设置 li:before 的 css

    我想用可变范围 宽度 更改 li before 的宽度值 ul li span step stepName uppercase span li ul 我正在执行这段代码 但它不起作用 请帮助 不幸的是你不能拥有pseudoelements
  • 启用基于客户位置的付款方式

    我不知道是否可能 但是 我们需要为巴塞罗那添加一些不同的付款方式 因此 我们的想法是 如果客户居住在巴塞罗那地区 加泰罗尼亚 他将看到与西班牙其他地区不同的信用卡付款方式和银行转账账户 WooCommerce 可以做到这一点吗 Thanks
  • Codeigniter - 从 where_in 中删除单引号

    我有两个疑问 genres this gt db gt select Group Concat intGenreId strDJGenres gt from tblDJGenres gt where intDJId this gt sess
  • 使用 rustdoc 生成 markdown 文档?

    有没有办法在 doc 中生成单个 markdown 文件 评论 多个 Markdown 文件 doc main md doc foo md等 也很好 我是 Rust 新手 虽然生成的 HTML 文档很好 但我主要生活在命令行上 真的不想为了
  • .setValue() 不能始终适用于 Google Sheets 脚本

    我一直在努力处理我在 Google Sheet 中编写的一段脚本 该脚本的目的是监视给定单元格的输入值 来自键盘 并验证输入是否遵循数据输入标准 例如 所有输入值必须遵循标准XX XX X 举个例子 A5 03 1是可以接受的 而B555
  • Swift:反映 NSManagedObject 子类的属性

    当使用 Mirror 访问 NSManagedObject 子类的内部结构时 所有托管变量都将被忽略 public class Foo NSManagedObject NSManaged var bar String var f Foo c