小编fsp*_*rit的帖子

如何处理临时NSManagedObject实例?

我需要创建NSManagedObject实例,用它们做一些事情,然后将它们丢弃或存储到sqlite db.问题是,我无法创建NSManagedObject未连接的实例,NSManagedObjectContext这意味着在我决定不需要我的数据库中的某些对象后,我必须以某种方式清理.

为了解决这个问题,我使用相同的协调器创建了一个内存存储,并且我使用assignObject:toPersistentStore.Now 将临时对象放在那里,如何确保这些临时对象无法获取数据,我从中获取数据两个商店的上下文共同点?或者我是否必须为此类任务创建单独的上下文?


UPD:

现在我正在考虑为内存存储创建单独的上下文.如何将对象从一个上下文移动到另一个上下文?只是使用[context insertObject:]?它在这个设置中可以正常工作吗?如果我从对象图中插入一个对象,整个图形是否也会插入到上下文中?

iphone core-data objective-c

85
推荐指数
6
解决办法
3万
查看次数

是否有适用于iOS的数据绑定机制?

在.NET中,我只是执行类似DataForm.Source = Object的操作,然后发生魔术.平台将数据从ui文件路由到对象属性,进行验证等.我可以使用Cocoa Touch和CoreData对象做类似的事情吗?

data-binding cocoa-touch core-data ios

23
推荐指数
3
解决办法
2万
查看次数

有没有办法进入Cocoa多线程模式而不创建假的NSThread?

Apple线程指南说:

对于多线程应用程序,Cocoa框架使用锁和其他形式的内部同步来确保它们的行为正确.但是,为了防止这些锁在单线程情况下降低性能,Cocoa不会创建它们,直到应用程序使用NSThread类生成其第一个新线程.如果仅使用POSIX线程例程生成线程,Cocoa不会收到它需要知道您的应用程序现在是多线程的通知.当发生这种情况时,涉及Cocoa框架的操作可能会使您的应用程序不稳定或崩溃.

为了让Cocoa知道你打算使用多个线程,你所要做的就是使用NSThread类生成一个线程并让该线程立即退出.你的线程入口点不需要做任何事情.只是使用NSThread生成线程的行为足以确保Cocoa框架所需的锁定到位.

在我的iOS应用程序中,我从一开始就从C++代码开始几个pthread.为了确保应用程序的行为正确,根据上面的文档,我创建了一个无效的假NSThread.我不喜欢创建这样无用的代码(通常它是WTF,当你第一次阅读它时)我想避免这样做.有没有更好的方法将我的应用程序置于多线程模式?

multithreading pthreads thread-safety ios

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

Quartz 2D或OpenGL ES?从长远来看,优点和缺点是迁移到其他平台的可能性

我很难决定是否使用Quartz2D或OpenGL进行iPad游戏.它主要是2D,但效果强烈(10-30个物体的同时照明效果,屏幕上同时有10-20个动画).到目前为止,假设我在两种技术中同样愚蠢并且必须从地面学习它,我来到这个列表.(我在这里阅读了几个主题,在SO上,名字如"Quartz或OpenGL",但我仍然留下了一些问题)

石英:

  • 更好的上市时间,因为准备使用UIView,UIImageView,CoreAnimation抽象等的抽象

打开GL ES

  • 因此,更接近硬件,性能更好.

  • 使用OpenGL ES实现的应用程序可以更轻松地迁移到Android,MeeGo,Windows Phone等.

我的问题是:

  1. 如何重写Quartz 2d应用程序才能使用OpenGL?让我说我花了2个人月来编写Quartz应用程序,需要多长时间才能重写它?(请,只是一些主观意见,我会尝试以某种方式总结它们)
  2. 关于迁移到其他平台的难易程度,使用OpenGL时,真的如此吗?或者,与OpenGL应用程序迁移相比,将Quartz应用程序从iPhoneOS迁移到Android的努力并没有那么大?(易于迁移是非常重要的标准)
  3. 关于OpenGL,我应该使用OpenGL 1.1还是2.0,关于迁移?(Android支持2.0到NDK,但不知道NDK的使用是否会增加或减少迁移工作)

iphone android opengl-es quartz-2d ipad

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

如何使用时间复杂度优于O(n ^ 2)的STL向量和STL算法进行左连接?

我有2个向量,包含,让我们说Person(姓名,姓氏等)对象.我想取一个向量(让它命名为"大")然后对于这个向量中的每个元素在第二个中找到对应的元素("小")并将一些数据从"小"向量元素合并到"大"向量元件.此操作与SQL术语中的左连接非常相似,但具有额外的数据合并.最简单的方法是进行2个循环,但这将导致O(n ^ 2)时间复杂度.我可以用STL算法做得更好吗?

c++ algorithm stl stl-algorithm

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

Pure ObjC(.m)vs ObjC&Cpp(.mm)混合

当在.mm文件中混合Objective C&C++时,是否有任何陷阱,我是否应该尽可能坚持纯粹的ObjC?

c++ objective-c ios

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

如何在C++头文件中使用Objective-C?

我试图在Ah文件中执行以下操作:

#include "Bar.hpp"

#import <Foundation/Foundation.h>

namespace foo 
{
  struct A : Bar::B
  {
    public:

    A() : Bar::B() {}

    id delegate;

    virtual void OnEvent(...);
  };
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了很多错误,比如'我不知道NSString是什么'.我该怎么做?

c++ objective-c

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

Scikit-learn的GridSearchCV与线性内核svm需要太长时间

我从sklearn网站上获取了示例代码

tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-3, 1e-4], 'C': [1, 10, 100, 1000]},
        {'kernel': ['linear'], 'C': [1, 10, 100, 1000]}]

scores = [('f1', f1_score)]

for score_name, score_func in scores:
    print "# Tuning hyper-parameters for %s" % score_name
    print

    clf = GridSearchCV( SVC(), tuned_parameters, score_func=score_func, n_jobs=-1, verbose=2 )
    clf.fit(X_train, Y_train)

    print "Best parameters set found on development set:"
    print
    print clf.best_estimator_
    print
    print "Grid scores on development set:"

    print
    for params, mean_score, scores in clf.grid_scores_:
        print "%0.3f (+/-%0.03f) for %r" % …
Run Code Online (Sandbox Code Playgroud)

python machine-learning python-2.7 scikit-learn

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

如何通过名称解决f#管道参数?

我正在尝试做类似的事情

seq { 1..100 }
|> Seq.sum
|> pown 2
Run Code Online (Sandbox Code Playgroud)

它甚至没有编译因为pown期望'T ^'参数作为第一个参数而我将它作为第二个参数,因为这是管道的默认行为.通过谷歌搜索我没有找到制作"pown"的方法使用管道携带的参数作为它的第一个arg.也许它有一些默认名称?

f# pipeline

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