小编Mar*_*ler的帖子

使用GCD创建高优先级串行调度队列

如何创建以高优先级运行的自定义串行队列?

现在我正在使用,myQueue = dispatch_queue_create("com.MyApp.MyQueue", NULL);但这似乎不允许设置优先级?

macos objective-c grand-central-dispatch

20
推荐指数
2
解决办法
1万
查看次数

如何让xcode在运行脚本时使用正确版本的ruby?

在xcode中,我有一个运行ruby脚本的"运行脚本"构建阶段.但是,似乎xcode正在尝试使用默认的mac 1.8版本的ruby而不是最新版本来运行它.鉴于该脚本需要一个gem,它失败并出现require错误并且错误中的路径指向 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/

显然,那条道路上的1.8让我怀疑.

如果我打开终端并运行命令,ruby -v那么它正确返回2.0.0p0我安装的并使用RVM设置为默认值.

我如何让Xcode在正确的位置看?或者我错误地解释了这个错误?

更新:

为了提供更多信息,这里是编译器抛出的确切错误:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Volumes/Macintosh HD/Documents/Projects/WesternMusicElements/WesternMusicElements/Ruby/NoteCollectionParser.rb:9
Command /bin/sh failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

ruby xcode rvm

11
推荐指数
1
解决办法
4583
查看次数

如何在基于NSTableView的视图中绑定NSButton的单击操作

我有一个NSTableView被设置为'基于视图',并且在每个内部都有NSTableCellView一个NSButton和一个NSTextField.

正在从阵列控制器正确填充文本字段.按钮显示正确,但我在解决如何连接点击操作时遇到问题.

我认为这可以通过控制 - 从NSButtonIB中拖动到我的控制器中的这个简单方法(在本例中是NSDocument子类):

- (IBAction)testAction:(NSButton *)sender {
    NSLog(@"Test action");
}
Run Code Online (Sandbox Code Playgroud)

它连接良好但永远不会被解雇.任何想法为什么这是或如何解决它?

macos xcode objective-c nstableview

5
推荐指数
2
解决办法
1369
查看次数

如何在使用绑定时使子NSManagedObjectContext保持最新

NSManagedObjectContext有一套NSPrivateQueueConcurrencyType我在应用程序中大部分时间都在使用的设置.

除此之外,我创建了一个NSMainQueueConcurrencyType与可可绑定一起使用的子MOC (我听说绑定不适用于私有队列MOC).我已经绑定了一些ObjectControllers和一个ArrayController这个子环境.我非常希望将子进程保留在主队列中,而不是交换MOC队列类型.

当我通过UI更改绑定对象时,更改不会传播到父上下文.当我对父上下文进行更改时,它们不会过滤到Object/ArrayControllers.

我怎样才能做到这一点?是否有一个设置可以告诉Object/ArrayControllers适当地刷新它们的上下文并在它们进行更改时保存它?

cocoa core-data objective-c cocoa-bindings nsmanagedobjectcontext

3
推荐指数
1
解决办法
1058
查看次数

创建NSManagedObjectContext以在线程中使用

我正在尝试创建NSManagedObjectContext的新实例,以便我可以在主要线程之外的线程中执行获取请求.据我所知,每个线程都需要它自己的实例,尽管它们可以共享商店.

我的应用是基于核心数据文档的应用.

这里读了一下我有这个代码:

NSManagedObjectContext *managedObjectContextForThread = nil;
NSPersistentStoreCoordinator *coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:self.managedObjectModel];

if (coordinator != nil) {
    managedObjectContextForThread = [[NSManagedObjectContext alloc] init];
    [managedObjectContextForThread setPersistentStoreCoordinator:coordinator];
    [managedObjectContextForThread setUndoManager:nil];
}
Run Code Online (Sandbox Code Playgroud)

它运行但是当我执行提取时我没有得到任何结果,我怀疑是因为NSPersistentStoreCoordinator未正确设置.

我该如何设置商店协调员与我的主商店合作?或者还有其他我在这里缺少的东西?

cocoa core-data objective-c

2
推荐指数
1
解决办法
2712
查看次数

最好不要使用Core Data来简化线程安全吗?

我有一个当前构建在Core Data上的应用程序,并且具有多个NSManagedObjectContexts的多个线程.它是一个音乐应用程序,因此总是在后台线程上运行的东西不需要干扰主线程,反之亦然.

到目前为止,我一直在慢慢地解决所有类型的死锁和线程安全问题,但坦率地说,我试图保持MOC同步并让它们不阻塞线程,没有任何访问实体已被删除等等. .

我的问题是:如果我放弃Core Data并且只是创建一些自定义的NSObject来跟踪属性会使这些问题变得更简单吗?是否可以从多个线程访问NSObjects(不会导致死锁等),这样我就不必维护多个副本并同步它们了?或者我还会面临类似的挑战吗?

我对Objective-c很新,所以我真的在寻找更简单的解决方案,而不是最复杂的解决方案.这种东西的任何链接到良好的设计模式也赞赏!

multithreading core-data objective-c

1
推荐指数
1
解决办法
134
查看次数