- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 iPhone 开发新手。我正在尝试使用 iphone 核心数据存储一些数据。当我尝试保存时,我收到类似错误。
Detected an attempt to call a symbol in system libraries that is not present on the
_Unwind_Resume called from function -[NSSQLAdapter
_newSelectStatementWithFetchRequest:ignoreInheritance:] in image CoreData.
2012-05-28 12:05:38.179 FYPV1[6460:207] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: 'Unimplemented SQL generation for predicate
(surname MATCHES $search_surname)'
*** Call stack at first throw:
(
0 CoreFoundation 0x02668b99 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x027b840e objc_exception_throw + 47
2 CoreData 0x0003be86 -[NSSQLGenerator generateSQLStatementForFetchRequest:ignoreInheritance:countOnly:] + 1254
3 CoreData 0x0003b6f0 -[NSSQLAdapter _newSelectStatementWithFetchRequest:ignoreInheritance:] + 480
4 CoreData 0x0003b501 -[NSSQLAdapter newSelectStatementWithFetchRequest:] + 49
5 CoreData 0x0003b3ae -[NSSQLCore newRowsForFetchPlan:] + 430
6 CoreData 0x0003ab09 -[NSSQLCore objectsForFetchRequest:inContext:] + 297
7 CoreData 0x0003a6fe -[NSSQLCore executeRequest:withContext:error:] + 206
8 CoreData 0x000e891c -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 1084
9 CoreData 0x00037897 -[NSManagedObjectContext executeFetchRequest:error:] + 359
10 FYPV1 0x0000715f -[Contacts saveContacts:] + 367
11 UIKit 0x001fc7f8 -[UIApplication sendAction:to:from:forEvent:] + 119
12 UIKit 0x00287de0 -[UIControl sendAction:to:forEvent:] + 67
13 UIKit 0x0028a262 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
14 UIKit 0x00288e0f -[UIControl touchesEnded:withEvent:] + 458
15 UIKit 0x002203d0 -[UIWindow _sendTouchesForEvent:] + 567
16 UIKit 0x00201cb4 -[UIApplication sendEvent:] + 447
17 UIKit 0x002069bf _UIApplicationHandleEvent + 7672
18 GraphicsServices 0x02f48822 PurpleEventCallback + 1550
19 CoreFoundation 0x02649ff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
20 CoreFoundation 0x025aa807 __CFRunLoopDoSource1 + 215
21 CoreFoundation 0x025a7a93 __CFRunLoopRun + 979
22 CoreFoundation 0x025a7350 CFRunLoopRunSpecific + 208
23 CoreFoundation 0x025a7271 CFRunLoopRunInMode + 97
24 GraphicsServices 0x02f4700c GSEventRunModal + 217
25 GraphicsServices 0x02f470d1 GSEventRun + 115
26 UIKit 0x0020aaf2 UIApplicationMain + 1160
27 FYPV1 0x00001e59 main + 121
28 FYPV1 0x00001dd5 start + 53
)
terminate called after throwing an instance of 'NSException'
如何解决这个问题。
这是我用于保存数据的代码。
NSError *error;
NSDictionary *subs = [NSDictionary
dictionaryWithObjectsAndKeys:fetchContact.first_name, @"search_firstname",fetchContact.surname,@"search_surname", nil];
NSFetchRequest *fetchRequestCheckNil =
[managedObjectModel fetchRequestFromTemplateWithName:
@"Fetchaddcontact" substitutionVariables:subs];
NSArray *fetchedObjects=[context executeFetchRequest:fetchRequestCheckNil error:nil];
if ([fetchedObjects count]>0) {
for (ENTITYADDCONTACTS *contactDetails
in fetchedObjects) {
[self updateDBModel:contactDetails];
}
}
else {
ENTITYADDCONTACTS *contactDetails;
contactDetails = [NSEntityDescription
insertNewObjectForEntityForName:@"ENTITYADDCONTACTS"
inManagedObjectContext:context];
[self updateDBModel:contactDetails];
}
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
最佳答案
根据Predicate Programming Guide在约束和限制部分,您不能将 MATCHES 关键字与 sqlite 持久存储一起使用。
引用:
The matches operator uses regex, so is not supported by Core Data’s SQL store— although it does work with in-memory filtering.
在你的情况下,我会使用 BEGINSWITH 或 LIKE。请注意,BEGINSWITH 具有性能优势,因此我建议尽可能使用它。
以下是字符串的可用谓词比较:
String comparisons are by default case and diacritic sensitive. You can modify an operator using the key characters c and d within square braces to specify case and diacritic insensitivity respectively, for example firstName BEGINSWITH[cd] $FIRST_NAME.
BEGINSWITH
The left-hand expression begins with the right-hand expression.
CONTAINS
The left-hand expression contains the right-hand expression.
ENDSWITH
The left-hand expression ends with the right-hand expression.
LIKE
The left hand expression equals the right-hand expression: ? and * are allowed as wildcard characters, where ? matches 1 character and * matches 0 or more characters. In Mac OS X v10.4, wildcard characters do not match newline characters.
MATCHES
The left hand expression equals the right hand expression using a regex-style comparison according to ICU v3 (for more details see the ICU User Guide for Regular Expressions).
这里的异常(exception)是 MATCHES,正如我之前所说,它不能与 sqlite 持久存储一起使用。除此之外,您可以使用普通的 == 进行严格的相等比较。
关于iPhone-核心数据错误 'NSInvalidArgumentException',原因: 'Unimplemented SQL generation for predicate' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780417/
SQL、PL-SQL 和 T-SQL 之间有什么区别? 谁能解释一下这三者之间的区别,并提供每一个的相关使用场景? 最佳答案 SQL 是一种对集合进行操作的查询语言。 它或多或少是标准化的,几乎所有关
这个问题已经有答案了: What is the difference between SQL, PL-SQL and T-SQL? (6 个回答) 已关闭 9 年前。 我对 SQL 的了解足以完成我的
我在数据库中有一个 USER 表。该表有一个 RegistrationDate 列,该列有一个默认约束为 GETDATE()。 使用 LINQ 时,我没有为 RegistrationDate 列提供任
我有一个可能属于以下类型的字符串 string expected result 15-th-rp 15 15/12-rp 12 15-12-th
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 9年前关闭
我有一个存储过程(称为 sprocGetArticles),它从文章表中返回文章列表。这个存储过程没有任何参数。 用户可以对每篇文章发表评论,我将这些评论存储在由文章 ID 链接的评论表中。 有什么方
我目前正在做一个 *cough*Oracle*cough* 数据库主题。讲师介绍embedded SQL作为让其他语言(例如 C、C++)与(Oracle)数据库交互的方式。 我自己做了一些数据库工作
SQL Server 中 SQL 语句的最大长度是多少?这个长度是否取决于 SQL Server 的版本? 例如,在 DECLARE @SQLStatement NVARCHAR(MAX) = N'S
这个问题已经有答案了: Simple way to transpose columns and rows in SQL? (9 个回答) 已关闭 8 年前。 CallType
预先感谢您对此提供的任何帮助。 假设我有一个查询,可以比较跨年的数据,从某个任意年份开始,永无止境(进入 future ),每年同一时期直到最后一个完整的月份(其特点是一月数据永远不会显示至 2 月
我在数据库中有一个 USER 表。该表有一个 RegistrationDate 列,该列的默认约束为 GETDATE()。 使用 LINQ 时,我没有为 RegistrationDate 列提供任何数
下面是我试图用来检查存储过程是否不存在然后创建过程的 sql。它会抛出一个错误:Incorrect syntax near the keyword 'PROCEDURE' IF NOT EXISTS
我有一个同事声称动态 SQL 在许多情况下比静态 SQL 执行得更快,所以我经常看到 DSQL 到处都是。除了明显的缺点,比如在运行之前无法检测到错误并且更难阅读,这是否准确?当我问他为什么一直使用
来自 lobodava 的动态 SQL 查询是: declare @sql nvarchar(4000) = N';with cteColumnts (ORDINAL_POSITION, CO
使用 SQL Server 中的存储过程执行动态 SQL 命令的现实优点和缺点是什么 EXEC (@SQL) 对比 EXEC SP_EXECUTESQL @SQL ? 最佳答案 sp_executes
我有这个有效的 SQL 查询: select sum(dbos.Points) as Points, dboseasons.Year from dbo.StatLines dbos i
我正在调试一些构建成功运行的 SQL 命令的代码。 然而,在查询结束时,查询结果似乎被写入了一个文本文件。 完整的查询如下 echo SELECT DATE,DATETABLE,DATE,APPDAT
我有一些创建表的 .sql 文件(MS SQL 数据库): 表_1.sql: IF OBJECT_ID (N'my_schema.table1', N'U') IS NOT NULL DROP TAB
我写了下面的 SQL 存储过程,它一直给我错误@pid = SELECT MAX(... 整个过程是: Alter PROCEDURE insert_partyco @pname varchar(20
我在 SQL Server 2005 中有包含两列 Fruit 和 Color 的表,如下所示 Fruit Colour Apple Red Orange
我是一名优秀的程序员,十分优秀!