ios swift 中的核心数据分组不工作

2023-12-04

我是 php 网络开发人员。最近学习了ios swift。我正在尝试从核心数据中获取记录,并根据一列或更恰当地根据 ios swift 中的一个属性对记录进行分组。我已经尝试过 Stack Overflow 的解决方案,但没有一个对我有用。所以请有人指出我做错了什么。这是我的代码:

    var context : NSManagedObjectContext = appdel.managedObjectContext!

    var request = NSFetchRequest(entityName: "TblOrders")
    request.returnsObjectsAsFaults = false
    request.propertiesToGroupBy = ["order_num"]
    request.propertiesToFetch = ["cust_name", "brand"]
    request.resultType = .DictionaryResultType
    context.executeFetchRequest(request, error: nil)!
    var results = context.executeRequest(request, error: nil)!

    println(results)

这是错误消息:

2015-08-11 10:54:30.423 newapp[470:6013] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'SELECT clauses in queries with GROUP BY components can only contain properties named in the GROUP BY or aggregate functions ((<NSAttributeDescription: 0x7fa8ca5b4b70>), name cust_name, isOptional 1, isTransient 0, entity TblOrders, renamingIdentifier cust_name, validation predicates (
), warnings (
), versionHashModifier (null)
 userInfo {
}, attributeType 700 , attributeValueClassName NSString, defaultValue (null) is not in the GROUP BY)'
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000101e35c65 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x00000001039a0bb7 objc_exception_throw + 45
    2   CoreData                            0x0000000101a4fbbc -[NSSQLGenerator newSQLStatementForRequest:ignoreInheritance:countOnly:nestingLevel:] + 1724
    3   CoreData                            0x0000000101a3bdc4 -[NSSQLAdapter _statementForFetchRequest:ignoreInheritance:countOnly:nestingLevel:] + 244
    4   CoreData                            0x0000000101953e0c -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 316
    5   CoreData                            0x0000000101953a86 -[NSSQLCore newRowsForFetchPlan:] + 118
    6   CoreData                            0x000000010195333c -[NSSQLCore objectsForFetchRequest:inContext:] + 524
    7   CoreData                            0x0000000101952dbb -[NSSQLCore executeRequest:withContext:error:] + 299
    8   CoreData                            0x0000000101a2da6c __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]_block_invoke + 3356
    9   CoreData                            0x0000000101a36c30 gutsOfBlockToNSPersistentStoreCoordinatorPerform + 192
    10  libdispatch.dylib                   0x00000001040a2614 _dispatch_client_callout + 8
    11  libdispatch.dylib                   0x0000000104088002 _dispatch_barrier_sync_f_invoke + 365
    12  CoreData                            0x0000000101a28245 _perform + 197
    13  CoreData                            0x0000000101952a58 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 504
    14  CoreData                            0x00000001019512ca -[NSManagedObjectContext executeFetchRequest:error:] + 586
    15  newapp                              0x000000010165ea9a _TFC6newapp25OrderStatusViewController11viewDidLoadfS0_FT_T_ + 1418
    16  newapp                              0x000000010165efe2 _TToFC6newapp25OrderStatusViewController11viewDidLoadfS0_FT_T_ + 34
    17  UIKit                               0x00000001028051d0 -[UIViewController loadViewIfRequired] + 738
    18  UIKit                               0x00000001028053ce -[UIViewController view] + 27
    19  UIKit                               0x000000010282a257 -[UINavigationController _startCustomTransition:] + 633
    20  UIKit                               0x000000010283637f -[UINavigationController _startDeferredTransitionIfNeeded:] + 386
    21  UIKit                               0x0000000102836ece -[UINavigationController __viewWillLayoutSubviews] + 43
    22  UIKit                               0x00000001029816d5 -[UILayoutContainerView layoutSubviews] + 202
    23  UIKit                               0x00000001027549eb -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 536
    24  QuartzCore                          0x0000000106522ed2 -[CALayer layoutSublayers] + 146
    25  QuartzCore                          0x00000001065176e6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
    26  QuartzCore                          0x0000000106517556 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
    27  QuartzCore                          0x000000010648386e _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242
    28  QuartzCore                          0x0000000106484a22 _ZN2CA11Transaction6commitEv + 462
    29  QuartzCore                          0x00000001064850d3 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 89
    30  CoreFoundation                      0x0000000101d68ca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    31  CoreFoundation                      0x0000000101d68c00 __CFRunLoopDoObservers + 368
    32  CoreFoundation                      0x0000000101d5ea33 __CFRunLoopRun + 1123
    33  CoreFoundation                      0x0000000101d5e366 CFRunLoopRunSpecific + 470
    34  GraphicsServices                    0x0000000105e09a3e GSEventRunModal + 161
    35  UIKit                               0x00000001026d48c0 UIApplicationMain + 1282
    36  newapp                              0x0000000101678747 main + 135
    37  libdyld.dylib                       0x00000001040d6145 start + 1
    38  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

我已经尝试过这里的解决方案:Swift 核心数据 - 组不起作用

如果需要任何进一步的信息,请告诉我。


最后我可以解决这个问题。虽然我对 Objective C 没有了解,但我在 Objective C 中搜索了同样的问题,并得到了在 Swift 中解决我的问题的想法。它可以帮助可能面临同样问题的人,所以我在这里分享我的解决方案。

问题是propertiesToGroupBy 必须包含要由propertiesToFetch 获取的所有元素。为了清楚起见,我将这两行代码分别粘贴在这里:

    request.propertiesToGroupBy = ["order_num","cust_name"]
    request.propertiesToFetch = ["order_num","cust_name"]

观察上面的代码行有两个元素(属性)order_num 和 cust_name。 (这只是我的代码中的一个示例。但我们可以添加任意数量的元素)

这是我上述问题的完整代码解决方案:

    var context : NSManagedObjectContext = appdel.managedObjectContext!
    var request = NSFetchRequest(entityName: "TblOrders")
    request.returnsObjectsAsFaults = false
    request.propertiesToGroupBy = ["order_num","cust_name"]
    request.propertiesToFetch = ["order_num","cust_name"]
    request.resultType = .DictionaryResultType
    context.executeFetchRequest(request, error: nil)!
    var res = context.executeFetchRequest(request, error: nil)!
    var results = res as NSArray
    println(results)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ios swift 中的核心数据分组不工作 的相关文章

  • Swift 结构类型集

    说我有一个struct 可以是任何东西 struct Cube var x Int var y Int var z Int var width Int 然后我该如何创建一个Set这些点中 是否存在两个具有相同属性的对象 let points
  • iOS SecItemCopyMatching RSA 公钥格式?

    我正在尝试从已生成的密钥对 两个SecKeyRefs 以便通过线路发送 我所需要的只是一个简单的 modulus exponent 对 它应该正好占用 131 个字节 模数为 128 指数为 3 但是 当我获取关键信息时NSData对象 我
  • 如何在 UITextView 中禁用放大功能

    我想摆脱 UITextView 中的放大和文本选择 但我需要电话号码 链接和地址检测器 我在用 void addGestureRecognizer UIGestureRecognizer gestureRecognizer if gestu
  • Swift 中的 @autoreleasepool 相当于什么?

    在 Swift 中 我注意到没有 autoreleasepool 构造 尽管 Swift 确实使用了 ARC 在 Swift 中管理自动释放池的正确方法是什么 或者它是否因某种原因被删除 语法如下 autoreleasepool code
  • 添加 AFNetworking 后出现 APPLE MACH-O 链接错误

    只是将 AFNetworking 添加到我的项目中 在 B R 后 我收到如下错误 Undefined symbols for architecture i386 SecCertificateCopyData referenced from
  • Swift 1.2 可选外部变量?

    由于 Swift 无法访问编译变量 因此我创建了一个指向编译变量的 Objective C extern 变量 编译变量转换器 h extern NSString const NetworkApiBasicAuthUsername 编译变量
  • Xcode 11 - 在 Catalyst Swift 中禁用调整大小模式

    We are 将我们基于 Swift 的 iOS 应用程序转换为 Mac兼容使用Catalyst在 Xcode 11 中 当用户使用时 我们在 UI 中面临一个问题resize应用程序窗口 那么我们可以禁用调整大小模式并为应用程序窗口提供修
  • 如何计算CLLocationDistance的中心坐标

    我想计算我的位置和一些注释之间的中心点 到目前为止我已经这样做了 CLLocation myLoc self locMgr location MKPointAnnotation middleAnnotation locationV anno
  • Objective C 宏附加到字符串

    我认为这是一件非常简单的事情 但由于我是 iOS 开发和 Objective C 的新手 所以我无法弄清楚 define RESTFUL PATH PREFIX https gogch com gch restful define LOGI
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • 在两个可移动 uiview 之间画线

    我有一个带有节点的 滚动视图 UIViews 可以拖动 我正在尝试在选定的之间绘制边缘UIViews使用 calayer 但我不知道当视图位置发生变化时如何重新绘制线条 In my viewControllerI 类在节点数组中添加第一个和
  • 增量后清除推送通知徽章

    我正在研究 iPhone 中的推送通知 当我收到推送通知时 它在我的应用程序图标上显示 1 下次显示 2 3 4 如果我打开应用程序 它是 0 下次它应该是 1 2 3 4 但它显示最后一个数字和 1 我想在打开应用程序后重置推送通知徽章
  • UIView 周围的虚线边框

    如何在周围添加虚线边框UIView 像这样的东西 如果您喜欢子层 还有另一种方法 在您的自定义视图的 init 中 输入以下内容 border 是 ivar border CAShapeLayer layer border strokeCo
  • 带有图像的 UITableView 滚动非常慢[重复]

    这个问题在这里已经有答案了 可能的重复 带图像的表格视图 加载和滚动缓慢 https stackoverflow com questions 4071497 table view with images slow load and scro
  • 使用 UIWebView 显示 PDF 不起作用

    因此 我意识到有关使用 UIWebView 在应用程序 在 iPad 上 中显示 PDF 存在很多问题 我已经审查了我能找到的所有内容 但似乎找不到任何满意的东西 我想做的事情非常基本 所以我真的不知道为什么它不起作用 我需要做的就是在 U
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 如何使用固定宽度和自动布局正确缩放图像?

    我有一个动态 UIImage 和一个固定宽度为 280 0px 的 UIImageView 并且我正在使用自动布局 在 UIImage 视图上 我设置了宽度和高度约束 并降低了高度约束的优先级 我选择了 aspect fit 并将内容拥抱和
  • AGVTool new-version 和 What-version 不对应

    当我做 agvtool new version all 99 它更新我的 Info plist 文件 但是 如果我这样做 agvtool what version or agvtool next version 我收到此错误 There d
  • 游戏中心玩家显示名称在沙盒中始终为“我”

    我使用用户的游戏中心显示名称和玩家 ID 来维护他们在我的服务器上的个人资料 当我进行测试时 一切似乎都正确执行 但我的沙箱帐户的用户显示名称显示为 Me 而不是附加到我的帐户的显示名称 Billybobbo 这应该在沙盒模式下发生吗 Co
  • iOS 开发:如何强制 UIWebView 加载 Facebook 的非移动版本?

    我正在深入研究 iOS 开发 当我尝试在 UIWebView 中加载特定的 Facebook 粉丝页面时 它会加载该网站的移动版本 该版本仅加载粉丝页面的墙 而不是我需要加载的特定选项卡 在我的应用程序的 iPad 版本中 UIWebVie

随机推荐

  • 如何获取脚本标签的innerHTML

    好吧 我已经搜索了一小时了 如何获取脚本标签的innerHTML 这就是我一直在做的事情 我一直在尝试寻找一种使用脚本标记调用另一个域的页面源的方法 我见过一个有效的例子 但我一生都找不到它 你不能那样做 没有innerHTML 您所能做的
  • jOOQ 将偏移日期时间返回为 Z (UTC),即使它不是

    我有一个简单的 Postgres 测试表 其中包含 id 时间戳和时区 下面的测试和输出应该是不言自明的 但总而言之 我插入了一行 其时间戳的偏移量为 6 它被正确插入到数据库中 然后以相同的时间从数据库中加载出来 但是偏移量错误 特别是
  • mysql - 我删除了用户表!我怎样才能恢复它?

    我确信我意外删除了表 mysql 然后标记了此错误 表 mysql user 不存在 我该如何修复它 或者创建一个新表 mysql 你无能为力 如果您可以运行查询并且最近使用 BACKUP TABLE 备份了整个数据库 那么您可以尝试运行此
  • 从 JSTL 标记调用自定义 JSP 标记

    我正在尝试从 JSTL 标签调用我的自定义标签
  • 如何让 Django 用户注册一步(而不是两步)过程并强制使用电子邮件?

    我希望 Django 在管理员向管理站点添加新用户后向用户电子邮件地址发送一封包含登录详细信息的电子邮件 因此我尝试使用 Django 信号 但因为 django 用户注册是一个两步过程 信号在第一步中得到通知仅并调用没有电子邮件地址的电子
  • WP 自定义帖子类型无法在上述 woocommerce 3.0 中添加到购物车

    我仍然可以通过向 woocommerce product class 添加过滤器来将自定义帖子类型添加到 WooCommerce 2 6 中的购物车 function wc product class class product type
  • 将 Pex 与最小起订量集成

    谁能给我指出一个资源 其中展示了如何将 Pex 与 MoQ 结合使用的示例 谢谢 Pex 使用 Moles 进行隔离 mocking 人们仍然可以将 MoQ 与 Moles 一起使用 实际上 当代码允许时 最好使用像 MoQ 这样的框架来进
  • 从 ANSI 到 Oracle 连接语法的转换

    我想转换以下查询 SELECT request requestId FROM request LEFT OUTER JOIN incident ON incident requestId request requestId LEFT OUT
  • 使用 Test-path 检查多个路径

    在我的函数中 我有 3 个非强制参数和位置参数Folder1 Folder2 and Folder3 在运行我的函数之前 我想检查每个选定的参数是否存在文件夹 它必须是动态的 因为用户可以随机指定一个或两个或所有树文件夹 提前致谢 您可以将
  • 更改 UIView 框架

    我已经设置了一个UIView in my storyboard并使其成为一个出口 property nonatomic weak IBOutlet UIView testView In the void viewDidLoad方法 我想像这
  • 在 Racket 中,如果使用点符号构造不带引号的对,是否可以对第二个元素使用变量或表达式值?

    在 Racket 中 可以执行以下操作 1 2 gt 3 define a a 1 2 gt 3 但是 我认为无法定义b成为 1 2 列出以便得到 b and a b 回来3 是否可以 当然可以 只需使用apply define a def
  • Node.js 流直接上传到 Google Cloud Storage

    我有一个在 Google Compute VM 实例上运行的 Node js 应用程序 该应用程序直接从 POST 请求 而不是通过浏览器 接收文件上传 并将传入数据流式传输到 Google Cloud Storage GCS 我正在使用
  • 检查数组是否在嵌套数组中的正确方法是什么? [Javascript]

    如果我有一个数组const a 1 2 和一个嵌套数组const nested 1 2 2 3 如何检查数组是否a在里面nested 我尝试使用nested includes a 但它没有提供正确的输出 我正在考虑对数组进行字符串化a 但是
  • 从文件读取文本到 unsigned char 数组

    我希望使用 OpenSSL 来加密文件中的文本 并且在加密之前需要将文本放在 unsigned char 数组中 从文件读取文本到无符号字符数组的最简单方法是什么 Your question is tagged both C and C w
  • 方法内的 Ruby 数组操作

    在下面的 input 1变化 def method 1 a a lt lt new value end input 1 method 1 input 1 input 1 gt new value 在下面的 input 2不改变 def me
  • 如何从 .NET 中的图标文件中提取特定图像?

    图标文件 ico 可能包含多个不同大小和不同颜色深度的图像 我怎样才能获得System Drawing Image对象从一个 ico file 一种选择是Image FromFile 但对于具有多个图像的图标文件 无法指定要返回的图像大小和
  • SymfonyRequirements.php 的更改是否应该包含在版本控制中?

    运行后composer update I got app SymfonyRequirements php在我的 symfony 2 7 beta 应用程序的工作更改中进行了更新 那个文件是什么 我应该提交文件的更改吗 这些文件用于check
  • 如何在 RDF 中表示 5 元组?

    在 RDF 中我见过这样的例子 John Is a Friend of James James Is a friend of Jill Jill Likes Snowboarding Snowboarding Is a Sport 但是如果
  • 两个 Android 设备之间的 RFCOMM 连接?

    我有两个 Android 设备 我想使用蓝牙进行连接 并通过 RFCOMM 通道传输数据 我只有一台设备接收数据 而另一台设备发送数据 使用此代码 我可以连接到其他设备并开始侦听 RFCOMM 通道 Method m device getC
  • ios swift 中的核心数据分组不工作

    我是 php 网络开发人员 最近学习了ios swift 我正在尝试从核心数据中获取记录 并根据一列或更恰当地根据 ios swift 中的一个属性对记录进行分组 我已经尝试过 Stack Overflow 的解决方案 但没有一个对我有用