问题标签 [restkit-0.20]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10364 浏览

ios - 尝试使用 RestKit 发出 POST 请求并将响应映射到 Core Data

我正在使用 RestKit 框架,我想发出一个 POST HTTP 请求。响应是 JSON。我想将 JSON 响应自动放入 CoreData。

我不确切知道要调用什么方法来发出请求。我知道我应该使用RKObjectManager's 方法,但我没有找到正确的方法。

我找到了这个方法postObject:delegate:,但我不知道要作为参数传递的对象。我也在文档中找到了这种方法:loadObjectsAtResourcePath:usingBlock:但我不能使用它,因为它告诉我:

0 投票
2 回答
6307 浏览

restkit - Restkit 0.20 基本操作

我刚刚开始使用 RestKit,并且在 Rk 0.20 即将上线并且文档和演示落后了一步。网络上的大多数东西都是针对 RK 0.10 的,并且 0.20 版本有很大的变化。

当新版本很快就会启动并运行时,我不想回退到早期版本。

我在 URL“test.myserver.com”上有一个 JSON 资源,它返回一个简单的数据报 - {“id_user”:“4401”、“datalocation”:“4401”、“country”:“Great-Britain”、“data ":"testdata","登录":"Fred Bloggs","密码":"579c0cb0ed2dc25db121283f7a98cc71","accessLevel":"2","timestamp":"1012","datahash":"2749da29f20ce7a85092323f193adee8"}

我很确定我已经对映射等进行了排序,但我的服务需要身份验证,所以我需要在请求中将用户名和密码传递给服务器。

到目前为止我已经得到了这个

似乎与服务器联系但不可避免地记录以下错误

restkit.network:RKObjectRequestOperation.m:296 对象请求失败:基础 HTTP 请求操作失败并出现错误:错误域 = org.restkit.RestKit.ErrorDomain 代码 = -1011“预期状态代码在 (200-299),得到 401”用户信息=0x7884030 {NSLocalizedRecoverySuggestion={ "error": { "code": 401, "message": "Unauthorized: Authentication required" } }, AFNetworkingOperationFailingURLRequestErrorKey=http://elancovision.umfundi.com>, NSErrorFailingURLKey= http://elancovision .umfundi.com , NSLocalizedDescription=(200-299)中的预期状态码,得到 401,AFNetworkingOperationFailingURLResponseErrorKey=}

问题当然是我如何将用户名和密码添加到请求中。

对不起菜鸟问题!

0 投票
1 回答
1249 浏览

ios - Restkit 0.20:POST CoreData 与外键的关系

我在使用 RestKit 和 CoreData 时遇到了一些困难,尤其是因为 RestKit 0.20 的示例和文档很少。

我有一个(托管)对象Song,它与Album. 以下代码可以发布 JSON,但不能以扁平化格式发布,服务器除外。

此代码将发布这样的 JSON 正文:

{"title":"Some Title","length":"123","album":{"id":"6e32ae476815f365"}}

但是,服务器需要这样的 JSON 正文:

{"title":"Some Title","length":"123","album":"6e32ae476815f365"}

即关系album应该是一个扁平的外键而不是一个嵌套的对象。但是当我尝试改变albumRelationshipMapping这样的:

它引发异常。( NSInvalidArgumentException', reason: '*** -[NSProxy doesNotRecognizeSelector:allKeys] called!')

有人知道我在这里做错了什么吗?或者是否有示例代码可以引导我朝着正确的方向前进?

对不起,如果这个问题已经在其他地方得到了回答。我搜索了所有 stackoverflow 和 google 组,但找不到适合我的案例的特定解决方案(RestKit 0.20,CoreData,与 FK 的关系)。

谢谢,德克

0 投票
4 回答
2036 浏览

ios - 无法从核心数据中删除实体,使用 RestKit 0.20

下面的代码不会删除实体。控制台上会显示“删除成功”消息,以便找到实体。我使用的所有其他操作都成功。

我正在使用 RestKit 0.20。

为什么此删除操作可能不成功,以及使它工作的解决方案是什么。

0 投票
2 回答
636 浏览

ios - 在 Restkit 0.2 中加载具有相同实体和不同谓词的两个不同表时遇到问题

这是我正在尝试做的简化版本:

我有一个使用 UITabBarController 作为根控制器的应用程序。在两个选项卡中,我有一个 UINavigationController,其中包含一个自定义 UITableViewController。

其中一个 Tableview 用于显示“特色”项目,另一个用于显示“用户”项目。

第一个 API 端点是:/api/items/featured,另一个端点是:/api/items/user

我经历了在我的 AppDelegate.m 中设置所有内容的整个过程:

然后在 TableViewControls 我有以下内容(在第二个 tableview 控制器中用 'user' 代替 'featured')

现在这一切都适用于第一个选项卡(目前它返回 8 个项目,type = 'featured',显示在表中)。

当我切换到第二个选项卡时,问题就来了。它目前只返回 1 个 type='user' 的项目,并崩溃:

CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。这通常是 NSManagedObjectContextObjectsDidChangeNotification 观察者中的一个错误。 * -[__NSArrayM objectAtIndex:]:索引 3 超出了带有 userInfo 的空数组的界限(null)

如果我省略了“用户”选项卡上的谓词,那么“特色”选项卡可以正常工作,“用户”选项卡会在其表中获取“特色”项目,而“用户”项目在顶部。

由于两个 tableview 控件的代码是相同的,除了“用户”和“功能”之外,我不知道问题出在哪里。

0 投票
1 回答
2047 浏览

ios - 使用 RestKit 0.20 初始化核心数据

我正在尝试将使用 Restkit 0.1 的现有应用程序更新到 0.20,但是在设置 Core Data Stack 时遇到了一些问题,因为它遇到了异常。

我的 AppDelegate 上有以下代码:

然后我的映射在 TableViewController 中设置为:

但是,每当我在加载视图后尝试检索数据时,我都会在控制台中收到以下错误(出于安全原因,我已经屏蔽了我的应用程序使用的名称和服务器):

有谁知道可能是什么问题?

谢谢!

0 投票
1 回答
367 浏览

restkit - RestKit - 同一类的多个请求描述符(用于不同的 HTTP 方法)

我必须为同一个类使用不同的请求描述符(对于不同的 HTTP 方法)。

用例如下:

我有User一些属性(属性)的类,例如,identity, username, password, firstname, lastname.

我想为使用所有这些字段的 POST 方法使用请求描述符,并为 PUT 方法使用另一个请求描述符,它只处理名字、姓氏和密码。(在这个例子中,我不想修改身份和用户名)。

我怎样才能做到这一点?

谢谢!

0 投票
1 回答
1522 浏览

ios - 对于使用 RestKit v0.20.0 的键 Text,此类不符合键值编码

两天来,我一直试图找出为什么我在使用带有 Xcode 4.6.2 和 RestKit 0.20.0 的 iOS 6.1.3 时遇到错误:

“...此类不符合键 Text 的键值编码。”

奇怪的是,我可以很好地接收(GET)JSON 对象。当我创建示例 SignalMessage 对象然后尝试将其放回服务器时会发生错误。

JSON如下:

SignalMessage 对象如下所示:

和这样的实现:

我正常工作的 getMessage 函数如下所示:

这是让我悲伤的 sendClicked 消息:

在这一点上,我不知所措。

0 投票
1 回答
808 浏览

json - RestKit 0.20 NSArray 序列化问题

我正在尝试序列化对象的 NSArray。

对象序列化为:

如果我有一个包含这些对象的 NSArray,它应该序列化为:

但是,当我直接通过 RestKit 对其进行序列化时,我得到以下信息:

当我检查 RKMIMETypeSerialization 时,我看到以下内容:(与 json 输出匹配)

我确定我只是在做一些非常愚蠢的事情,我一直在玩它无法弄清楚。

这是我的映射逻辑

这是执行数组序列化的逻辑:

这里是测试类: Item.h

项目.m

执行 Have RestKit pod installed 然后发出以下命令:

请注意,也许我没有为数组序列化正确配置映射。虽然这个映射器非常适合反序列化上面的目标 json 文本。

0 投票
1 回答
21 浏览

restkit-0.20 - 更新不属于 RestKit 映射的属性的首选方法是什么

响应对象中的对象到我的数据模型中的对象的所有映射都很清楚如何做并且工作得很好。但是,每次通过映射更改值时,我都需要更新数据模型上的某些属性,这些属性不是响应对象的一部分。例如 last_synced 日期或部分排序属性(这是基于映射对象之一的值)等。

有没有办法将其设置为映射操作的一部分,或者我是否需要通过迭代 mappingResult 在成功块中手动处理这些事情?