问题列表 - 第29132页

如何异步同步CoreData和REST Web服务,同时将任何REST错误正确地传播到UI中

嘿,我正在为我们的应用程序模型层工作.

一些要求是这样的:

  1. 它应该适用于iPhone OS 3.0+.
  2. 我们的数据源是RESTful Rails应用程序.
  3. 我们应该使用Core Data在本地缓存数据.
  4. 客户端代码(我们的UI控制器)应该尽可能少地了解任何网络内容,并且应该使用Core Data API查询/更新模型.

我查看了关于构建服务器驱动的用户体验的WWDC10 Session 117,花了一些时间查看Objective Resource,Core ResourceRestfulCoreData框架.

Objective Resource框架本身不与Core Data对话,仅仅是一个REST客户端实现.Core Resource和RestfulCoreData都假设您在代码中与Core Data交谈,并且它们解决了模型层背景中的所有细节.

到目前为止所有看起来都没问题,最初我虽然核心资源或RestfulCoreData将涵盖所有上述要求,但是...有一些事情似乎没有一个正好解决:

  1. 保存服务器的本地更新时,不应阻止主线程.
  2. 如果保存操作失败,则应将错误传播到UI,并且不应将更改保存到本地Core Data存储.

当您调用- (BOOL)save:(NSError **)error托管对象上下文时,核心资源恰好向服务器发出所有请求,因此能够以某种方式向服务器提供正确的基础请求的NSError实例.但它会阻止调用线程,直到保存操作完成.失败.

RestfulCoreData保持您的-save:调用不变,并且不会为客户端线程引入任何额外的等待时间.它只是注意NSManagedObjectContextDidSaveNotification,然后在通知处理程序中向服务器发出相应的请求.但这种方式的-save:呼叫总是成功完成(当然,考虑到核心数据是好的,与保存的更改),并且实际调用它没有办法知道节省,可能也没有传播到因为一些服务器的客户端代码404421或任何发生服务器端错误.甚至更多,本地存储变得更新数据,但服务器永远不知道更改.失败.

所以,我正在寻找可能的解决方案/常见做法来处理所有这些问题:

  1. 我不希望调用线程-save:在网络请求发生时阻塞每次调用.
  2. 我想以某种方式在UI中收到某些同步操作出错的通知.
  3. 如果服务器请求失败,我希望实际的Core Data保存失败.

有任何想法吗?

iphone rest core-data objective-c

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

AsyncTask线程永远不会死

我正在使用AsyncTasks来获取数据以响应用户按下按钮.这很好用并且在获取数据时保持接口响应,但是当我检查Eclipse调试器中发生了什么时,我发现每次AsyncTask创建一个新的(这通常是因为它们只能使用一次),正在创建一个新线程,但从未终止.

结果是大量的AsyncTask线程就坐在那里.我不确定这在实践中是否是一个问题,但我真的想摆脱那些额外的线程.

我怎么能杀死这些线程?

multithreading android android-asynctask

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

Pylons和NodeJS/Comet

我正在构建使用大量jQuery和AJAX/JSON的Pylons Web应用程序,以使这些应用程序更具Web 2.0'.我一直在研究服务器推送技术,并对如何使用Pylons做这个问题有疑问.我看过Comet和NodeJS(虽然我还不太了解NodeJS)并且对于在Pylons中实现服务器推送技术的好方法感到困惑.我正在通过让我的JavasScript客户端应用程序执行定期轮询以更新应用程序内容来"模拟"这一点.

有没有人有关于我在上面段落中谈论的内容的任何信息/指示/提示/帮助?非常感谢您的帮助!

提前致谢!道格

python ajax jquery pylons

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

NSAppleScript不会工作

有人可以告诉我为什么这不起作用?

NSAppleScript* playPause = [[NSAppleScript alloc] initWithSource:
    @"\
    tell application \"System Events\"\n\
     tell application \"Final Cut Pro\" to activate\n\
     keystroke \" \"\
    end tell"];
Run Code Online (Sandbox Code Playgroud)

我收到错误"预期':'','';' ' ='标记之前的'}'或' attribute '.WTF?

谢谢你的帮助!

cocoa applescript objective-c

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

Rails登陆页面

我决定在我的网站goldhat.org上放置一个登陆页面.我希望用户能够直接访问此页面,如果他们已登录并且未登录则会定向到目标网页.目标网页目前位于此处.如果点击顶部的"浏览网站"链接,它将转到当前的主页.

基本上我想要登陆页面和当前主页共享"www.goldhat.org"网址.我可以看到这对于登录来说这很容易吗?有条件的,但是那些没有登录并浏览网站的人呢.我只想让登陆页面显示一次.

有任何想法吗?

routing ruby-on-rails controllers

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

如何更改Netbeans 6.9中的默认项目目录(文件夹)?

如何在Java SE\ME\EE中更改Netbeans 6.9中的默认项目目录?

java directory netbeans default

17
推荐指数
4
解决办法
6万
查看次数

如何计算直线和任意形状的交点?

有几种方法可以几何计算线和任意图形路径的交点吗?我知道路径中的所有行和曲线在哪里,并且我正在使用HTML5 canvas元素,如果这有帮助的话.基本上,我可以访问所有画布绘图命令及其参数.例如,如果使用lineTo调用API,则使用moveTo,然后使用arc获取所有该信息.每次调用API都存储在一个数组中.我有路径定义,我只是想弄清楚线与路径相交的位置.下面的图片显示了我需要找到的点的示例.

alt text http://cl.ly/3228b0e7ea32b172e960/content

谢谢你的帮助!同样,如果可能的话,我宁愿做几何而不是像素.

javascript algorithm geometry canvas computational-geometry

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

在asp.net路径中使用波浪号(〜)

我正在使用asp.net应用程序,以下链接适用于IE,但不适用于FF.

<a href="~/BusinessOrderInfo/page.aspx" >
Run Code Online (Sandbox Code Playgroud)

是不是只能在asp.net服务器控件中使用的波形符.它将被实际路径取代?

是否可以在锚标签中使用波浪号?如果是这样的话是什么意思?

当我在根时,链接工作

www.myserver.com/default.aspx, click the link, ok!

www.myserver.com/otherpart/default.aspx, click the link, not ok!
Run Code Online (Sandbox Code Playgroud)

ASP.NET生成的链接是:

www.myserver.com/otherpart/~BusinessOrderInfo/page.aspx
Run Code Online (Sandbox Code Playgroud)

这是设计的吗?

c# asp.net

70
推荐指数
3
解决办法
8万
查看次数

为什么ICU的Locale :: getDefault()返回"root"?

使用带有C++的ICU库我正在做:

char const *lang = Locale::getDefault().getLanguage();
Run Code Online (Sandbox Code Playgroud)

如果我编写一个小测试程序并在我的Mac系统上运行它,我就可以enlang.但是,在我正在进行的一个更大的团队项目中,我得到了root.有谁知道为什么?我确实发现了这个:

http://userguide.icu-project.org/locale/resources

所以我的猜测是,当在较大的系统下运行时,一些ICU资源没有找到,但我不知道什么资源,为什么没有找到它们,或者如何解决它.

附加信息

/usr/bin/locale 收益:

LANG="en_US.ISO8859-1"
LC_COLLATE="C" 
LC_CTYPE="C" 
LC_MESSAGES="C" 
LC_MONETARY="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_ALL="C" 
Run Code Online (Sandbox Code Playgroud)

如果我写一个小C程序:

char const *lang = setlocale( LC_ALL, "" ):
Run Code Online (Sandbox Code Playgroud)

我得到en_US.ISO8859-1.

操作系统:Mac OS X 10.6.4(Snow Leopard)
ICU版本:4.3.4(最新版本可通过MacPorts获得).

一点帮助?谢谢.

c++ locale icu

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

使用MySQL作为键/值数据库的可伸缩性

我很想知道使用MySQL作为键值数据库对Redis/MongoDB/CouchDB的性能影响.我过去使用过Redis和CouchDB,所以我对它们的用例非常熟悉,并且知道在NoSQL与MySQL之间存储键/值对更好.

但情况如下:

  • 我们的大部分应用程序已经有很多MySQL表
  • 我们在Heroku(只有MongoDB和MySQL,并且每个应用程序基本上是1-db-type)上托管所有东西
  • 在这种情况下,我们不希望使用多个不同的数据库.

所以基本上,我正在寻找关于在MySQL中拥有键/值表的可伸缩性的一些信息.也许在三个不同的任意层:

  • 每天写1000次
  • 每小时写1000次
  • 每秒1000次写入
  • 每小时1000次读取
  • 每秒1000次读取

一个实际的例子是构建类似MixPanel的实时Web分析跟踪器,这需要根据流量进行编写.

Wordpress和其他流行的软件一直使用它:Post具有"Meta"模型,它只是键/值,因此您可以向可以搜索的对象添加任意属性.

另一种选择是在blob中存储可序列化的哈希,但这看起来更糟.

你有什么看法?

mysql sql performance nosql key-value-store

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