我正在尝试使用 ASIHTTPRequest/ASIFormDataRequest
作为 NSDictionary 中的键,如下所示:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:GPUserData.userlogin forKey"username"];
[request setPostValue:GPUserData.password forKey"password"];
[request setDelegate:self];
[_delegates setObject:delegate forKey:request];
[_selectors setObject:[NSValue valueWithPointer:selector] forKey:request];
[request startAsynchronous];
但是,当我尝试从 中访问
,所以我使用临时解决方案:[_delegate objectForKey:request]
时,它不会返回正确的数据(nil
s 或随机)- requestFinished:
[_delegates setObject:delegate forKey:[request url]];
[_selectors setObject:[NSValue valueWithPointer:selector] forKey:[request url]];
但是 [request URL]
对于每个单独的请求并不是唯一的。我知道要成为可行的关键,it needs to have -hash
and -isEqual:
return the same result ,即如果对象返回 YES
到 -isEqual:
那么它们都必须从 -hash
返回相同的值。
从 ASIFormDataRequest : ASIHTTPRequest : NSOperation : NSObject
我看不到从 NSObject 覆盖
和 -isEqual:
或 -hash
的方法ASIHTTPRequest
实现 (NSCopying)
协议(protocol)。
那是什么?为什么我不能将请求用作 key ?是否有其他我可以使用的请求的唯一标识符?
感谢任何帮助。为了获得完整的引用,我正在尝试实现一个双层回调,其中 WebServices
类解析 -requestFinished
上的数据(并处理网络错误和重新登录)和然后进行另一个回调,因此只有 JSON 数据作为 NSDictionary
发送。
您能否将唯一值存储到 request.tag 中,或者使用 userinfo 字典存储您需要存储的数据?例如:
request.userInfo = [[NSMutableDictionary alloc] initWithObjectsAndKeys"value", @"key", nil];
关于objective-c - 使用 ASIHTTPRequest 作为 NSDictionary 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471683/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |