TL; DR:如果我从服务器轮询整个模型集合,如何将更改的属性合并到每个模型中,并从集合中添加/删除添加/删除的模型?
在我的骨干应用程序中,我正在轮询整个模型集合.我有一个Backbone.Collection
我基本上reset
每次得到模型数组时都会调用,所以:
myCollection.reset(server_response);
Run Code Online (Sandbox Code Playgroud)
唯一的问题是它摆脱了旧模型,消除了模型上事件的好处.这reset
当然是目的,但我想要做的只是修改模型的已更改属性,并删除不在响应中的模型,并添加响应中但不是集合的模型.
基本上我想要一种数据合并.
对于已经在响应中和集合中的模型,我相信我可以这样做model.set(attributes)
,它只set
处理实际更改的模型,触发change
流程中的事件.这很棒.
但是,我如何处理模型在响应中但不在集合中的情况,反之亦然,不是在响应中而是在集合中?
我建议的解决方案
我不知道骨干是否已经有办法做到这一点,我可能会过度复杂,这就是为什么我要问,但我当时正在考虑在我的集合上创建一个方法来传递server_response
.
它会得到所有的id
属性server_response
,以及所有id
模型的属性已经在收集.
id
响应中的差异- 收集将=添加模型,反之亦然将被移除模型.分别从集合中添加和删除这些模型.
两组的交集id
将是修改后的模型,所以迭代这些id
并简单地做一个collection.get(id).set(attributes)
.
在pseudocoffeescript中:
merge: (server_response) =>
response_ids = _.pluck(server_response, 'id')
collection_ids = @pluck('id')
added = _.difference(response_ids, collection_ids)
for add in added
@add(_.find(server_response, (model) ->
return model.id == add
))
removed = _.difference(collection_ids, response_ids)
for remove in removed
@remove(@get(remove)) …
Run Code Online (Sandbox Code Playgroud) 请原谅我对这个问题的无知.
我想用C#编写一个应用程序,可以像DownThemAll一样从服务器上下载文件.DownThemAll似乎打开四个连接到HTTP服务器下载相同的文件.我只是想知道是否有任何现有的库可能会这样做.
以下是他们网站关于此功能的引用:
DownThemAll采用称为"多部分下载"的智能下载技术.它将文件分成多个部分,可以同时下载.
我还希望能够暂停/恢复下载.这是我想要的基本功能,我不一定需要一个完整的下载管理器库,但如果有一个可以做这些事情,那么我也很想知道它们.这些文件位于使用lighttpd托管的受密码保护的目录中,因此我还需要一些方法来验证自己.
如果没有我可以使用的任何预先存在的库,那么我应该研究哪些.net类可以做到这一点?
谢谢!
编辑:将标题重新编辑为更合适,并在DownThemAll网站上添加了引用,解释它是什么.
第二次编辑:我相信目前为什么svens发布了最合适的答案,虽然作为评论:/这是我的错,因为我错误地标题,因为我不知道我在说什么.他发布了一篇关于HTTP下载暂停/恢复的文章.它还讨论Range
了我认为我应该使用的标题:
Range标头能够在一个请求中请求多个范围,这个功能称为"多部分范围".不要将此与分段下载混淆,几乎所有下载工具都使用分段下载来提高下载速度.这些工具声称通过打开两个或多个同时连接来提高下载速度,每个连接请求不同范围的文件.
所以我认为我想使用该范围同时下载文件的某些部分.然后,这可能没有任何优势,只需一次下载文件.我会这样做,并允许暂停/恢复.
多谢你们!
PS svens,继续并发表评论作为答案,以便我可以接受它,如果你想.
我想知道在Objective-C中是否存在任何现有库或者可以从Objective-C访问哪些库,这样我就可以抓取像这样格式化的页面.具体而言,所有日期和每个日期旁边的所有文本.如果没有,那么最好的方法是什么?常用表达?我听说NSString
可能已经有了内置的方法.这是真的?
我在四处寻找是否有任何替代方法,例如XML文件或API.我找到了一个API,但我看到的唯一客户端是其他语言,他们似乎只能将内容发布到页面而不是检索它.
编辑:所以我在这些链接上找到了有关API的更多信息:
我能够提出这个请求,返回一些HTML编码的文本(格式是XML,但它包括页面的文本»a href=
等等.我将继续查看文档,看看我是否可以使这个文件出来好一点,如果没有,是否有解析这个的建议?
编辑2:好的,所以感谢这个doc页面,我能够检索数据的最简单,最简洁的方法是使用这个构造的链接返回相关部分的原始数据(在wiki标记中).但是,我想我需要解析它,但如果确实如此,它应该比整篇文章容易得多.
有没有人对解析wiki标记有任何建议,例如Objective-C中的以下内容?
==Events==
* [[710]] – [[Saracen]] invasion of [[Sardinia]].
*[[1275]] – Traditional founding of the city of [[Amsterdam]].
*[[1682]] – [[Philadelphia]], [[Pennsylvania]] is founded.
Run Code Online (Sandbox Code Playgroud)
我最终想要的是,我想一个NSDictionary
或类似的集合将存储日期与附带的信息片段.谢谢!
关于In App Purchases,我可以找到很多关于实际购买和与商店互动的技术细节的信息(如何检索产品信息,验证收据等),但我似乎无法找到关于指南的信息或准备实际"应用程序"或"组件"的特殊说明,无论它们是否被考虑,它们将充当In App Purchase.
例如,一旦将组件下载到应用程序中,它在应用程序的整体架构中存在于何处?他们如何结合起来联合起来?他们如何相互了解.如果我有游戏,并且使用In App Purchases,我允许用户同时下载新级别,还可以下载可影响任何内置或下载级别的新游戏模式,如何准备所有这些资产,以便他们整合?
我本身并不是在寻找一个教程,但是很想知道是否有人有过In App Purchases的经验,或者除了Apple的In App Purchase编程指南之外还知道一个有用的参考资料,该指南仅涉及实际下载的细节交易.
免责声明:我已经看到以下问题,他们的解决方案并不适用于我,即使他们是非常相似的情况:
简单地说,我想加-moz-box-shadow
的0 0 10px
到.current_page_item
是在顶部应用于当前活动标签的标签导航类我的网站.该网站尚未包含实际的盒子阴影或任何这些更改,我在实际发布它们之前,现在只在firebug中使用这些修改.当然,这会导致阴影出现在所有方面,因此底边的阴影重叠到.content
div中,div存储了博客的所有实际内容,即帖子.
根据我迄今所看到的,好像我应该设置z-index
的东西,不知道(我都试过ul.menu
)转移到了低,z-index
中的.content
股利高的东西,但是这似乎没有任何效果.
我只是想知道这是否是正常行为,如果没有,如果有人可以帮我解决这种情况.
谢谢,我真的很感激.
编辑:我box-shadow
之前提到过,但我的意思是各自的具体指令,例如-moz-box-shadow
.那不是我遇到的问题.
嘿伙计们,我有一个表在sqlite3中有一个带有时间戳的列.默认情况下CURRENT_TIMESTAMP
,当插入行时,插入当前时间.现在我正在尝试获取2天前或更早插入的行.我想知道这是否有意义.
阅读我提出的文档:
SELECT * FROM test WHERE timestamp < strftime('%s', '-2 days')
但显然这是错的.我想出了这个查询,因为这与我在实际代码中进行测试的方式类似:
strtotime($timestamp) < strtotime("-2 days")
.
但我希望sqlite3包含一些针对此类情况的内置检查.
谢谢,我感谢任何回复.
编辑:想出来:SELECT * FROM test WHERE timestamp < date('now', '-2 days')
我会保持这个开放,以防有人能提出更好的东西.
我想知道如何jQuery.load
通过模型的show
动作返回HTML片段.例如,$("#container").load("/posts/34")
.这个问题是它返回我希望嵌入在布局中的视图,就像我在浏览器中访问该URL一样.我只是想Post
的show
HTML片断.
谢谢!
澄清:我希望show
视图show
在我的浏览器中执行操作时继续在应用程序布局中呈现.我只想弄清楚当我想用jQuery异步加载它时如何只获取show
视图的html .我已经看过他们创建的指南,show.js.erb
然后在那里渲染html视图,但对我来说这似乎很麻烦,为javascript转义所有html.如果这是接受和正确的方式,虽然我想我会遵循标准.我只是想知道是否有可能只获取特定视图的html.
得到一个新的mac,需要准备开发.我听说macports很棒,我应该用吗?它比手动下载和编译更容易吗?有人使用它有什么问题吗?
它适用于典型的ruby web开发.
谢谢
好吧,在Java中我想以24小时格式询问用户一段时间.我已设法利用DateFormat
并SimpleDateFormat
告诉它输入时间的格式,然后相应地解释它,如果它不遵循该格式则抛出异常.这是我有的:
DateFormat fmt = new SimpleDateFormat("HH:mm");
Scanner keyboard = new Scanner(System.in);
try {
String input = keyboard.nextLine();
Date theDate = fmt.parse(input);
System.out.println(theDate.toString());
} catch (ParseException e) {
System.out.println("Incorrect format!");
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
如果我输入一个单词,它确实会引发异常.但是,如果我键入类似234234:2342342
实际的内容并进行数学计算以确定这些小时和分钟相等的天数,则输出实际日期.例如,给定输入:
input: 23423423:232323
output: Fri Jul 29 07:03:00 PDT 4642
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法将此视为例外.所以我想只接受格式化程序指定的内容(H 0-23和m 0-59),如果它不属于这些边界,则抛出异常或有某种了解方式.我想知道的是,如果有一种方法可以在我正在使用的格式化程序类中执行此操作,或者是否应该使用Scanner类(如何?),或者如果我必须自己编写解析和验证代码.我接近这个完全错了吗?我目前正在尝试各种可能性,所以如果有更好的方法请告诉我.
谢谢!
我有一个由此创建的NSNumber对象数组:
myArray = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0], nil];
Run Code Online (Sandbox Code Playgroud)
(虽然刚发生在我身上,我本可以做到的
myArray = [NSMutableArray arrayWithObjects: object1, etc..., nil];
Run Code Online (Sandbox Code Playgroud)
并完全跳过了alloc.哪个更好?)
无论如何,这与我的问题相关:
在应用程序的整个生命周期中,值都会发生变化.在某一点上,我想将它们全部重置为零.我现在就是这样做的:
for (NSNumber *number in myArray) {
number = [NSNumber numberWithDouble:0.0];
}
Run Code Online (Sandbox Code Playgroud)
但静态分析器会发出警告,因为它认为"数字"是一个未使用的变量(技术上是 - 设置然后再也不用).有没有更好的方法将阵列的所有元素归零?也许用新的阵列替换阵列?什么是最快的,避免静态分析警告?