我有点进退两难 - 无论我做什么,我都无法让Apple的Instruments.app象征任何包含的乐器,而我在我的设备上进行分析(它在iOS模拟器中运行正常).
我已经尝试过我能想到的一切,包括:
我不确定从哪里开始 - 我在本周早些时候有一两个小时的符号,但我根本无法让它们完全显示出来.能够弄清楚神秘的咒语是什么让仪器总能找到我的应用程序符号会很棒.
我在使用UITableView时让我的Core Data实体玩得很好并且订购时遇到了一些麻烦.
我在StackOverflow上经历了一些教程和其他问题,但似乎没有一个明确或优雅的方法来做到这一点 - 我真的希望我错过了一些东西.
我有一个Core Data实体,它上面有一个名为"displayOrder"的int16属性.我使用已经在"displayOrder"上排序的NSFetchRequest来返回我的UITableView的数据.除了重新排序之外的一切都得到了尊重.这是我的(低效)moveRowAtIndePath方法:
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
NSUInteger fromIndex = fromIndexPath.row;
NSUInteger toIndex = toIndexPath.row;
FFObject *affectedObject = [self.fetchedResultsController.fetchedObjects objectAtIndex:fromIndex];
affectedObject.displayOrderValue = toIndex;
[self FF_fetchResults];
for (NSUInteger i = 0; i < [self.fetchedResultsController.fetchedObjects count]; i++) {
FFObject *otherObject = [self.fetchedResultsController.fetchedObjects objectAtIndex:i];
NSLog(@"Updated %@ / %@ from %i to %i", otherObject.name, otherObject.state, otherObject.displayOrderValue, i);
otherObject.displayOrderValue = i;
}
[self FF_fetchResults];
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我指出一些示例代码的方向,或者看看我做错了什么?tableview显示更新OK,我可以通过我的日志消息看到displayOrder属性正在更新.它不是一直保存和重新加载,并且对于这个实现感觉非常"偏离"(除了我所有FFObjects的浪费迭代).
提前感谢您提出的任何建议.
我在解读Apple的文档UIManagedDocument
方面遇到了很多麻烦,特别是以下方法:
- (id)additionalContentForURL:(NSURL *)absoluteURL error:(NSError **)error
- (BOOL)readAdditionalContentFromURL:(NSURL *)absoluteURL error:(NSError **)error
- (BOOL)writeAdditionalContent:(id)content toURL:(NSURL *)absoluteURL originalContentsURL:(NSURL *)absoluteOriginalContentsURL error:(NSError **)error
有没有人成功地将其他内容保存到UIManagedDocument包中的"添加内容"目录中?我希望使用UUID作为文件名(具有正确的文件扩展名)将直接图像(PNG,JPEG等)和视频(m4v等)保存到此目录中,并将对这些单个文件的引用存储为NSString
我的文件路径持久存储.
我经常发现自己想要打开Xcode并在国际航班上做一些编码,虽然我没有电源,但这是一个快速清空MacBook Pro电池的方法.
在运行Xcode时,您使用什么设置来延长电池寿命?
这是我在我的应用程序中看到的一个非常奇怪的问题.我有一个NSTextField绑定到NSManagedObject的属性,但每当保存对象时,文本字段失去焦点.我不断更新绑定的值,所以这远非理想.
有没有人见过这样的事情,并且(希望)找到了解决方案?
return [RACSignal create:^(id <RACSubscriber> subscriber) {
if (someError) {
[subscriber sendError:documentCreationError];
return;
}
[subscriber sendNext:nil];
[subscriber sendCompleted];
}];
Run Code Online (Sandbox Code Playgroud)
鉴于上面的示例,return;
在向订户发送错误之后是否有必要,或者在此块内执行是否立即停止?
我今晚花了几个小时试图创建一个设置,我有三个托管对象上下文 - 一个附加到我的应用程序的委托,一个在NSObject
子类中负责UITableView
更新(通过一个NSFetchedResultsController
),一个在NSOperation
子类中.
我可以从NSOperation
子类到app委托获得更改,通过观察NSManagedObjectContextDidSaveNotification
并mergeChangesFromContextDidSaveNotification:
在我的主线程上启动,但是当我尝试从我的UITableView
数据源执行相同的操作时,我得到以下异常:
2010-02-19 02:00:39.750 MyApp[44687:207] Serious application error. Exception was caught during Core Data change processing: *** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0] with userInfo (null)
2010-02-19 02:00:39.750 MyApp[44687:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFArray initWithObjects:count:]: attempt to insert nil object at objects[0]'
Run Code Online (Sandbox Code Playgroud)
我很感激任何建议 - 我之前涉及Core Data托管对象上下文的所有设计都是非常简单的1:1同步方案.我提出的甚至是可能的吗?
core-data ×4
cocoa ×2
cocoa-touch ×2
ios ×2
macos ×2
battery ×1
focus ×1
instruments ×1
iphone ×1
nstextfield ×1
objective-c ×1
sorting ×1
symbolicate ×1
uitableview ×1
xcode ×1
xcode4 ×1