小编Qed*_*rix的帖子

使用Google App Engine的分页技术

我想使用GAE(Java)的Cursor功能为我的网站实现分页.但是,只有一个前向光标; 从App Engine SDK 1.4.0开始,未实现向后游标.因此,为了实现上一页的功能,建议我将光标页存储在memchache中.但我的问题是 - 当新记录添加到数据存储区时,各个页面的旧游标将变为无效.我该如何处理这种情况?

有没有人以前用Java中的游标实现了这个功能?请详细说明这个算法.

另外,我还没有在Java中看到相同的具体实现/示例.如果可能的话,请你分享一些链接.

google-app-engine pagination cursor

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

使用 viewPager2 在 Fragment 之间共享 ViewModel

我有一个 Fragment0,其中包含一个 ViewPager2,该 ViewPager2 内部可能包含 1 个或多个子片段。

在此输入图像描述

我创建了一个 SharedViewModel 并在 Parent 片段中定义它,如下所示:

val viewModel by viewModels<SharedViewModel>()
Run Code Online (Sandbox Code Playgroud)

我还在每个子片段中添加了 viewModel 的定义。

private val sharedViewModel by viewModels<SharedViewModel>(
    ownerProducer = { requireParentFragment() }
)
Run Code Online (Sandbox Code Playgroud)

我使用 NavigationControl 从每个子片段即导航到 Fragment4。片段 1、片段 2 和片段 3。我的问题是,如何与 Fragment4 共享相同的视图模型,它不是 Fragment0 的直接子级。我可以使用相同的方法与 Fragment4 共享 viewModel 吗?

或者有更好的方法来处理这样的用例吗?

android viewmodel android-fragments kotlin android-viewmodel

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

JSON 写入中的类型无效 (__SwiftValue)

我试图将参数 [String:Any] 值传递给 JSONSerialization.data 并且每次都会抛出错误。

我知道 [String:Any] 字典的值是 Swifty.JSON 对象。但我无法将它们转换为 NSDictionary 对象。

我从另一个字典填充参数,如下所示:

var params = [String:Any]()
for (key, value) in self.myDictionary[self.selectedEntry] as! JSON {
    print("\(key) - \(value.description)")
    params[key]=value     
}
Run Code Online (Sandbox Code Playgroud)

这就是 print(params) 之后 params 对象内部的内容。

["searchOptions": {
  "omit_saved_records" : false
}, "customFilters": {
  "is_next_sellers_search" : "Y"
}, "use_code_std": [
  "RSFR",
  "RCON"
]]
Run Code Online (Sandbox Code Playgroud)

我将参数传递给这个函数:

let json = try JSONSerialization.data(withJSONObject: params, options: .prettyPrinted)

Run Code Online (Sandbox Code Playgroud)

这就是错误发生的地方。

我希望这能简单地工作,但我得到了这个错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“JSON 写入中的类型无效 (__SwiftValue)”

我在这里做错了什么?

json ios swift swifty-json swift4

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