gpt4 book ai didi

ios - RK对象管理器 : check requestDescriptors before adding

转载 作者:行者123 更新时间:2023-11-28 22:09:55 25 4
gpt4 key购买 nike

我正在尝试搜索我的 RKObjectManager,看看我正在构建的描述是否已经注册。由于 requestDescriptors,我发现有一个描述符列表,但我无法将它们与我的进行比较。

我绝对需要检查这些描述符,因为如果它已经存在(这会使我的应用程序崩溃),我无法使用此代码添加另一个描述符:

[objectManager addRequestDescriptor:requestDescriptor];

我尝试了一个简单的迭代

BOOL toAdd = YES;
for (RKRequestDescriptor *desc in objectManager.requestDescriptors) {
if ([desc isEqualToRequestDescriptor:requestDescriptor]) {
toAdd = NO;
}
}
if (toAdd) {
[objectManager addRequestDescriptor:requestDescriptor];
}

但我可以在我的调试器上看到:

Printing description of desc:
<RKRequestDescriptor: 0xd366950 method=(POST) objectClass=User rootKeyPath=(null) : <RKObjectMapping:0xd3664d0 objectClass=NSMutableDictionary propertyMappings=(
"<RKAttributeMapping: 0xd366510 facebookToken => fb_token>"
)>>
Printing description of requestDescriptor:
<RKRequestDescriptor: 0x12847d00 method=(POST) objectClass=User rootKeyPath=(null) : <RKObjectMapping:0x1284c3d0 objectClass=NSMutableDictionary propertyMappings=(
"<RKAttributeMapping: 0x12842860 facebookToken => fb_token>"
)>>

所以我关于相等性的测试是错误的,而我的变量 toAdd 仍然是正确的。

我遇到了同样的问题:

if (desc.mapping == requestDescriptor.mapping) {
toAdd = NO;
}

查看调试器的比较:

Printing description of $0:
<RKObjectMapping:0xd03ac50 objectClass=NSMutableDictionary propertyMappings=(
"<RKAttributeMapping: 0xd066530 facebookToken => fb_token>"
)>
Printing description of $1:
<RKObjectMapping:0xd431d90 objectClass=NSMutableDictionary propertyMappings=(
"<RKAttributeMapping: 0xd4520b0 facebookToken => fb_token>"
)>

感谢您的帮助。

最佳答案

RKRequestDescriptor 类有一个比较两个描述符的方法。

/**
Returns `YES` if the receiver and the specified request descriptor are considered equivalent.
*/
- (BOOL)isEqualToRequestDescriptor:(RKRequestDescriptor *)otherDescriptor;

因此您可以迭代请求描述符数组并检查它是否已经存在:

例如:

for (RKRequestDescriptor *r in [[RKObjectManager sharedManager] requestDescriptors]) {
if ([r isEqualToRequestDescriptor:otherRequestDescriptor]) {
// do something
}
}

关于ios - RK对象管理器 : check requestDescriptors before adding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23167916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com