【发布时间】:2014-07-14 01:02:50
【问题描述】:
更新:我知道我的解决方案不起作用。我正在寻找解决此问题的替代方法:)
代码: public gist
我正在尝试创建一个 API 类,该类为 restkit 构建一些常用方法,以便我可以重用相同的代码来将对象和 POST、GET 或 PUT 映射到我的 Web API。当 API 类被实例化时,我调用 responseDescriptorWithMapping,并传递一系列参数,如下所示。
在我尝试将方法名称作为参数传递之前,这一切正常。
例如:
_api = [[snapApi alloc] initWithconfigureRestKit:[Profile class] objectMapping:@{ @"_id": @"_id", @"headline": @"headline" } httpMethod:@"RKRequestMethodPOST"];
我在运行时看到此警告和后续失败:
Incompatible pointer to integer conversion sending '__strong id' to parameter of type 'RKRequestMethod' (aka 'enum RKRequestMethod')
restkit 方法被定义为获取 RKRequestMethod 类的一个对象。是否可以使用 Objective-c 将方法名称(以字符串的形式)作为参数传递给函数?如果不是,我该如何动态地做到这一点?
(instancetype)responseDescriptorWithMapping:(RKMapping *)mapping
method:(RKRequestMethod)method
pathPattern:(NSString *)pathPattern
keyPath:(NSString *)keyPath
statusCodes:(NSIndexSet *)statusCodes
提前致谢。
【问题讨论】:
标签: objective-c methods arguments restkit