如何在swift中将对象设置为NSMutableDictionary中的键

时间:2016-02-20 15:13:10

标签: ios swift nsmutabledictionary

我需要在NSMutableDictionary中将对象设置为键。我把我的字典宣布为

var streamsDict : NSMutableDictionary = [:]

并将对象添加为

 streamsDict[stream] = "Value"

但由于我的应用程序崩溃

,我收到了以下错误
Could not cast value of type 'OTStream' (0x100638590) to 'NSCopying' (0x19e0fb9e8)

我也试过

streamsDict[stream as! NSCopying] = "Value"

但我又得到了错误

`Argument type 'OTStream' does not conform to expected type 'NSCopying'`

请建议

2 个答案:

答案 0 :(得分:1)

只有符合NSCopying的对象才能用作NSMutableDictionary中的密钥。

如果要将OTStream对象用作词典中的键,则NSCopying对象必须实现NSCopying协议。

您可以找到if(convertView == null) { //your code } else { convertView.getTag() } 文档here

答案 1 :(得分:0)

可能您没有将对象直接存储在字典中,但首先将其所有属性序列化为NSDictionary