【发布时间】:2025-12-10 12:40:01
【问题描述】:
为什么我在使用valueForKey 时会出错...我使用与objectiveC 相同的技巧...
在ObjectiveC,代码是
self.strSubscribe =[responseObject[@"subscribe"] valueForKey:@"subscribe_ids"];
在Swift,代码是
self.strSubscribe = responseObject["subscribe"].valueForKey["subscribe_ids"] as! String
我声明变量像
var arraySubCategory : NSMutableArray! = NSMutableArray()
var strSubscribe:String!
我试图从下面的响应中访问值
{
subscribe =
{
"subscribe_ids" = "1,14";
}
}
编辑 它使用 Amit 和 Eric 的解决方案,但现在用于跟踪数据
{
data = (
{
"subscribe_ids" = "1,14";
}
);
}
let dictionary = responseObject["data"][0] as! Dictionary<String,AnyObject>
self.strSubscribe = dictionary["subscribe_ids"] as! String
或//
if let dic = responseObject["data"][0] as? [String:String], let ids = dic["subscribe_ids"] {
self.strSubscribe = ids
}
但它给了我错误:
找不到成员“下标”
【问题讨论】:
-
我不知道为什么会这样,但我发现了一个标题类似于你问题的问题。看看*.com/questions/26508044/…
-
似乎您必须将
responseObject["subscribe"]转换为正确的类型,然后才能访问其.valueForKey -
subscribe 似乎不是字符串(如您的回复中所示)。尝试将其转换为 [String:String] 并在此转换中运行 .valueForKey
-
@gutenmorgenuhu 是有效的