我正在使用a NSFetchedResultsController和a UITableViewController来填充CoreData数据库中的UITableView.
我有一个NSDate对象保存到标记为"startTime"的Date属性中.然后我试图通过使用如下所示的方式NSPredicate来获取今天的数据:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"startDate == %@",
todaysDate];
Run Code Online (Sandbox Code Playgroud)
我的结果为零.我理解这一点,因为一个NSDate对象只保持自1970年1月1日以来的秒数或毫秒数等等吗?因此,比较1111111111111和1111111111112,而在同一天,两个不同的NSDate对象是不相等的.
那么,如何NSPredicate格式化以便它可以做到呢?我猜它会创建两个NSDate对象:一个是昨晚12点,另一个是今晚12点,比较startDate,看看它是否在这两个之间NSDate.
我有点新手NSPredicate,那怎么能实现呢?
core-data nsdate uitableview nspredicate nsfetchedresultscontroller
是一个应该在后台使用AFNetworking和Magical Record完成的同步过程,但当连接到NSFetchedResultsController的视图控制器当前打开或已打开(但弹出)时会导致永久挂起.
该应用程序在用户第一次打开手机时同步,然后通过Magical Record框架始终在Core Data持久性存储中使用数据.然后,当用户想要确保数据是最新版本时,他们进入设置并单击"重新同步",这将导致执行以下代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0),^{
[[CoreDataOperator sharedOperator] commenceSync:self];
});
Run Code Online (Sandbox Code Playgroud)
这将使用单例CoreDataOperator(NSObject的子类 - 也许它应该是NSOperation?)启动同步过程,它会触发以下代码:
[[ApiClient sharedClient] getDataRequest];
Run Code Online (Sandbox Code Playgroud)
然后然后在单身AFHTTPClient子类中触发这个坏男孩:
[[ApiClient sharedClient] postPath:url parameters:dict
success:^(AFHTTPRequestOperation *operation, id responseObject) {
[request.sender performSelector:request.succeeded withObject:response];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[request.sender performSelector:request.failed withObject:response];
}
];
Run Code Online (Sandbox Code Playgroud)
有效地说:AFHTTPClient发布此信息,当它成功时,将信息传回给提供的选择器(我知道这是通用的,但请求不是问题)
现在,对AFNetworking进行编码,以便在主线程上调用所有完成选择器(在本例中具体为成功和失败); 所以为了防止阻塞主线程,处理响应并准备保存的代码被发送回后台线程:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
id responseData;
[self clearAndSaveGetData:responseData];
});
Run Code Online (Sandbox Code Playgroud)
然后使用Magical Record框架调用导致保存的函数(仍在后台线程中):
NSManagedObjectContext *localContext = [NSManagedObjectContext contextForCurrentThread];
[DATAENTITY truncateAllInContext:localContext];
<!--- PROCESS DATA INTO DATAENTITY -->
[localContext saveNestedContexts];
Run Code Online (Sandbox Code Playgroud)
我选择saveNestedContexts是因为因为我在后台工作,所以我希望它一直推到默认上下文,我假设它是父上下文?(但到目前为止这还不是问题).
现在,这些数据可以成为成千上万行,因此我使用NSFetchedResultsController安全有效地访问这些数据,并且它们用于与设置或主页不同的视图控制器中.
core-data nsfetchedresultscontroller ios afnetworking magicalrecord
我在越狱的iPhone上测试我的应用程序.在我的代码中我使用[NSUserDefaults standardUserDefaults].
我正在通过SSH将我的应用程序放在手机上,因此它不会生成文件夹/var/mobile/Applications.如果应用程序在那里,任何使用NSUserDefaults都会在"Documents"文件夹中创建一个.plist.由于我的应用程序没有生成此文件夹,我找不到.plist.
通过SSH上传的越狱应用程序的Documents文件夹在哪里(在.app,NOT .ipa中)?
我正在开发一个需要在iOS平台上使用向量和矩阵的库.我决定研究OpenGLES,因为我计划进行的矩阵和矢量操作(主要是转置,矩阵乘法和特征分解)肯定会受益于GPU加速.
问题是我不熟悉OpenGLES,老实说可能不是最好的选择.如果我要使用OpenGLES,我是否必须手动编写执行矩阵转置,乘法和特征分解的算法?或者是否有另一个Apple或第三方框架可以帮助我完成这些任务.
然而,主要的分歧是我希望这些操作是GPU加速的.
我正在使用适用于iOS的AFNetworking Framework.我已经将AFHttpClient子类化并将其用作单例,即[TestAFClient sharedClient]
我正在使用需要使用.ASPXAUTH cookie的ASP.NET Web服务API.首先我来认证,接收的cookie .ASPXAUTH响应,然后必须通过该Cookie与每个后续请求.
经过几次测试后,似乎是因为我使用的是单例AFHTTPClient,因此.ASPXAuth cookie仍然存在,因此不需要显式存储cookie.
但是,作为我的应用程序的一部分,我需要在某个时候"注销".
为了注销,清除此cookie的最有效方法是什么?将单例设置为nil并重新初始化它?做点什么setValue:forKey:?
另外,我明确存储.ASPXAUTH cookie是否更好?这是否会在必要时到期或自动续订?
谢谢,
罗比
所以我编写了一个iOS游戏,我正在使用arc4random_uniform选择随机启动.
在Sim上,它工作正常,但在我的手机上它会抛出此错误(来自syslog):
Nov 26 13:44:26 iPhone ----[2184]: placePowerupCalled
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.-----[0x1f08][2184]: dyld: lazy symbol binding failed: Symbol not found: _arc4random_uniform
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.-----[0x1f08][2184]: Referenced from: /Applications/------.app/-----
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.------[0x1f08][2184]: Expected in: /usr/lib/libSystem.B.dylib
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.------[0x1f08][2184]: dyld: Symbol not found: _arc4random_uniform
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.-----[0x1f08][2184]: Referenced from: /Applications/------.app/-------
Nov 26 13:44:26 iPhone UIKitApplication:com.yourcompany.-----[0x1f08][2184]: Expected in: /usr/lib/libSystem.B.dylib
Nov 26 13:44:27 iPhone ReportCrash[2185]: Formulating crash report for process -----[2184]
Nov 26 13:44:27 iPhone com.apple.launchd[1] …Run Code Online (Sandbox Code Playgroud) ios ×4
afnetworking ×2
core-data ×2
jailbreak ×2
.app ×1
.aspxauth ×1
arc4random ×1
asp.net ×1
cocoa-touch ×1
eigenvector ×1
iphone ×1
matrix ×1
nsdate ×1
nspredicate ×1
objective-c ×1
opengl-es ×1
sbjson ×1
uitableview ×1