Swift + CoreData:无法在生成的 NSManagedObject 子类上自动设置可选属性

2024-01-06

我有一个名为 Record 的 coredata 实体,并且有一个属性 dateUpdated。我注意到生成的 NSManagedObject 子类没有可选标记(?)

核心数据编辑器:

生成的子类:

预期的:

UPDATED: It's tedious就我而言,因为每次我想重新生成子类,这意味着我还需要手动更新所有可选值。子类中有一个非可选(没有“?”)导致我在分配之前检查 evalue,如下例所示:

// sample value:
// serverDateFormatter = "yyyy/MM/dd"
// dateString = ""    

// Branch is a subclass of Record (see above images)

var date = self.coreData.serverDateFormatter.dateFromString(dateString)
if date != nil
{
   branch.dateUpdated = date 
}

但是如果 xcode 可以使用 (?) 自动在子类中设置可选值,我只需要这样做:

branch.dateUpdated = self.coreData.serverUTCDateFormatter.dateFromString(dateString)

就我而言,我有很多属性需要手动标记为可选。


核心数据模型编辑器中的可选复选框在 Swift 及其可选选项引入之前就已存在。苹果公司在其声明中对此进行了说明核心数据编程指南 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreData/KeyConcepts.html#//apple_ref/doc/uid/TP40001075-CH30-SW1:

您可以指定某个属性是可选的 - 也就是说,它不是 需要有一个值。但总的来说,你会感到沮丧 这样做——特别是对于数值(通常你可以得到 使用具有默认值的强制属性可以获得更好的结果 - 在 型号 — 0)。原因是SQL有特殊的比较 NULL 的行为与 Objective-C 的 nil 不同。数据库中的NULL 与 0 不同,搜索 0 将不会匹配包含以下内容的列 无效的。

因此,使用 Swift 和 Xcode 8,可选复选框(仍然)与您将属性定义为可选值或不在 ManagedObject 子类中这一事实无关。并且不要指望可选复选框会对您的NSManagedObject子类属性在创建时可选类型Editor > 创建 NSManagedObject 子类.

也就是说,每次我需要一个属性在模型编辑器中选中其可选复选框时,我都会立即将其NSManagedObject子类声明是可选的。


Addendum

发电机 https://github.com/rentzsch/mogenerator能够自动切换您的NSManagedObject每次您在数据模型检查器中为每个实体的属性更改此选项并重建项目时,都会将子类属性从非可选更改为可选。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift + CoreData:无法在生成的 NSManagedObject 子类上自动设置可选属性 的相关文章

  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • `navigator.geolocation.getCurrentPosition()` 在 iOS PWA 上挂起

    我有这个片段 const getCurrentPosition gt new Promise
  • Swift SpriteKit edgeLoopF​​romRect 问题

    下面的代码可以识别底部和顶部边缘场景和球按预期弹开 但是 那左边缘和右边缘现场的情况一直被破坏 如果施加足够的力 球会离开屏幕 然后最终返回 就好像场景的边缘超出了 iPhone 模拟器窗口的边缘 import SpriteKit clas
  • 将自定义数据包含到 iOS 故障转储中

    你好 堆栈溢出 有一个简单的问题要问您 当我的应用程序在用户的设备上崩溃时 是否可以将自定义错误数据嵌入到自动生成的 iOS 故障转储中 例如 我的 SQlite 数据库由于某种原因无法运行 例如 数据库文件已损坏 我无法从这个错误中恢复
  • 如何制作带有 SWIFT 图像的弹出窗口

    我想知道如何制作类似于此示例的弹出窗口 原始窗口充满了按钮 选择这些按钮后将拉出我想要使用的图像 我会简单地创建一个可重用的UIView组件以及作为子视图所需的一切 例如UIImageView为了你的形象 UILabel or a UIBu
  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • 错误域=kAFAssistantErrorDomain 代码=209“(空)”

    我面临着一个问题SFSpeechRecognizer 启动应用程序几秒钟后 我开始收到错误消息 错误域 kAFAssistantErrorDomain 代码 209 空 和 错误 域 kAFAssistantErrorDomain 代码 2
  • Objective-C UILabel 作为超链接

    我正在尝试做一个UILabel一个链接UIWebView 我怎样才能做一个UILabel作为超链接 您可以使用 UITapGestureRecognizer 它将实现与您想要的类似的功能 UILabel myLabel UILabel al
  • ios swift parse:从 3 个类收集数据

    我有这样的结构 User CardSet 带有指向 User objectId 的指针 user 和 col name 带有点 cards 的卡片到 Card Set objectId 和列 name 我想选择所有卡数据 包括当前用户的卡集
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • 使用未解析的标识符“FlurryAdInterstitial”

    我正在尝试整合Flurry Interstitial Ads使用cocoapods in Swift and Xcode 7 1 1 我正在关注开发人员雅虎网站上的此文档 https developer yahoo com flurry d
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • “预期的 ';'在 Swift 下的顶级声明符之后”

    我正在尝试将所有颜色设置在一个 Swift 文件中 该文件可以在我的整个应用程序中使用 下面的代码会导致 import Foundation import UIKit class DotColors let tsblueColor UICo
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 当直接从 usdz 文件而不是 Reality Composer 文件加载模型时,如何在 RealityKit 中渲染阴影?

    将模型直接从 usdz 文件添加到场景锚点时 模型下方不会出现接地阴影 如果您将模型导入 RealityComposer 并添加 RealityComposer 场景 则会出现这些 但是 您可以在不使用 RC 的情况下启用接地阴影吗 我尝试
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user
  • 模态转场需要点击 2 次而不是 1 次

    我的 UITableView 需要点击 2 次才能显示所选单元格的详细信息页面 一次用于选择 另一次用于显示详细信息视图 我希望有一个 CLI 直接显示所单击单元格的详细视图 我在 UITableViewManager m 中使用此方法的模
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的
  • 更改 iOS7 中 UIAlertView 的字体大小

    我想更改alertView中消息文本和标题文本的字体大小 苹果网站上没有任何文档谈到这一点 但苹果在其子类注释中表示 UIAlertView 类旨在按原样使用 请参考以下链接 https developer apple com librar

随机推荐

  • http.sys 实现

    我们都知道有一个名为 http sys 的二进制文件内核模式驱动程序在我们的 Windows 中 它为我们进行 HTTP 处理 这基本上就是我们所知道的一切 但今天我想 嘿 我们所有的网络东西 比如 TCP IP 之类的东西都在这里 在用户
  • 有充分的理由不使用 ORM 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 查找并迭代android中的所有短信/彩信

    首先 也是最重要的 我发现了这个answer https stackoverflow com a 6446831 2415237特别有帮助 然而 这让我想知道如何找到这些信息 我似乎不知道如何迭代收件箱中的所有消息 我当前的解决方案使用Ur
  • Clearerr 是用来做什么的?

    我试图了解 stdio 功能何时clearerr 应该使用 例如 如果我fread or fwrite 在有效的FILE 并得到一个简短的计数ferror是真的 我能做什么 从我到目前为止所读到的来看 fread and fwrite 很健
  • 打字稿:找不到名称“代理”

    我需要声明一个 Proxy 类型的新变量 来自 ES6 规范 myProxy Proxy 但我收到下一个错误 找不到名称 代理 我该如何修复它 假设您将目标设置为es2015或包括库es2015使用lib选项 您可以创建一个Proxy 诀窍
  • 更新包并防止其恢复为原始状态

    我想升级包 ggplot2 library ggplot2 packageDescription ggplot2 Version gt 0 8 3 但当前版本是0 8 7 我尝试了 update packages 它似乎工作正常 但它仍然返
  • 如何获取临时文件名?

    我看过一些与我的问题相关的帖子 但没有一个能完全解决这个问题 我需要在标准临时目录中创建一个文件 完成写入后 将其移动到其他位置 这个想法是 该文件在下载时被视为临时文件 在下载完成后被视为永久文件 我正在尝试通过致电mkstemp htt
  • 将数据从一个纬度经度网格插入到另一个纬度经度网格上?

    我有两个位于经纬度网格上的数据数组 第一个 A 的形状为 89 180 第二个 B 的形状为 94 192 A 的纬度按降序排列 从 88 到 88 经度按升序从 0 到 358 B 的纬度按降序从 88 54199982 到 88 541
  • CNCopyCurrentNetworkInfo 不适用于 iOS 14

    我有一个使用 WIFI 连接到外部设备的应用程序 我曾经通过检查 WIFI SSID 来验证 iPhone 是否已连接到该设备 当 iOS 13 发布时 这个问题被阻止了 我通过请求位置权限来获取 SSID 来修复它 我现在尝试使用启用了位
  • 为什么sed命令包含at符号

    我不明白为什么以下 sed 命令包含 符号 sed s session s required s pam loginuid so session optional pam loginuid so g i etc pam d sshd 我查看
  • ReactJS 给出 inst.render 不是函数错误

    当我用 React 和 ReactDOM 展示一个非常基本的 Hello World 时 我遇到了一个奇怪的错误Uncaught TypeError inst render is not a function 在此查看JSBin https
  • 正则表达式“(?

    我花了大约三个小时试图理解如何
  • Websocket 可扩展性、广播问题

    如果您有一个包含许多用户 和服务器 的复杂要求 您的 websocket 基础设施 服务器 将如何扩展 尤其是广播 当然 广播不是任何 websocket 规范的一部分 但它甚至存在于基本的聊天示例中 又名 websocket 的 hell
  • Java 泛型有没有办法获取需要实现 2 个接口的泛型参数?

    假设我有这个代码 public interface ParentInterface1 public List
  • 使用 javascript 平滑自动滚动

    我正在尝试在网页上实现一些代码 以在加载页面后自动滚动 我使用Javascript函数来执行自动滚动 并在页面加载时调用我的函数 但页面仍然滚动不顺畅 有什么办法可以自动平滑地滚动我的页面吗 这是我的 JavaScript 函数 funct
  • 循环多维数组时出现问题

    我在尝试使用 PHP 循环多维数组时遇到问题 当我使用print r 函数 这是我的输出 Array 0 gt Array fname gt sname gt address gt address2 gt city gt state gt
  • Android:将位图保存为 bmp 文件格式

    我内存中有一个位图 我需要将其保存在 bmp 文件中 使用bmp 文件格式 http en wikipedia org wiki BMP file format 有什么办法可以在Android上做到这一点吗 我读了很多建议使用 png 格式
  • J 中的笛卡尔积

    我正在尝试重现 J 中生命游戏功能的 APL 代码 搜索 APL 中的生命游戏 后可以找到解释此代码的 YouTube 视频 目前我有一个矩阵R这是 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0
  • ReactJS - 调用“setState”时是否会调用渲染?

    React每次都会重新渲染所有组件和子组件setState 叫做 如果是这样 为什么 我认为这个想法是 当状态发生变化时 React 仅渲染所需的部分 在下面的简单示例中 尽管状态在后续单击时不会更改 但单击文本时 两个类都会再次呈现 因为
  • Swift + CoreData:无法在生成的 NSManagedObject 子类上自动设置可选属性

    我有一个名为 Record 的 coredata 实体 并且有一个属性 dateUpdated 我注意到生成的 NSManagedObject 子类没有可选标记 核心数据编辑器 生成的子类 预期的 UPDATED It s tedious就