Car*_*ten 13 core-data objective-c ios
我曾经用来NSCountResultType计算我的CoreData上下文中的实体.前一段时间我遇到countForFetchRequest:error:了似乎只用另一种(更易读的)语法做同样的事情.
尽管有语法,这两者在性能,内存管理或其他方面是否有任何区别?
Mar*_*n R 22
似乎没有任何区别(只有一个返回一个NSUInteger而另一个返回NSArray包含一个NSNumber).
设置启动参数
-com.apple.CoreData.SQLDebug 3
揭示了两者
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
NSUInteger count = [context countForFetchRequest:request error:NULL];
Run Code Online (Sandbox Code Playgroud)
和
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
[request setResultType:NSCountResultType];
NSArray *result = [context executeFetchRequest:request error:NULL];
Run Code Online (Sandbox Code Playgroud)
执行完全相同的SQLite语句
SELECT COUNT( DISTINCT t0.Z_PK) FROM ZEVENT t0
| 归档时间: |
|
| 查看次数: |
1334 次 |
| 最近记录: |