从数组

时间:2016-12-06 12:51:10

标签: ios objective-c arrays swift dictionary

我有一个用Swift编写的类(模型),我想从Objective C类访问它,但我不能。

为了解释更多,我有一个数组,它附加了用Swift编写的模型中的字典。

模型看起来像这样:

@objc class GoalPreviewModel: NSObject {
 var id : Int?
 var name : String?

 init(dictionary: NSDictionary)  {
     self.id = dictionary["id"] as? Int
     self.name = dictionary["name"] as? String
 }

}

这个字典很好地填充了这个模型,只要我从用Swift编写的类访问它,一切都很好。当我尝试访问该字典数组并访问属性时,会出现此问题。 当我想访问名字时,声明正好工作正常。

[_nameLabel setText:[(NSString*) [[AppState sharedInstance].arrayOfDicts objectAtIndex:idx] valueForKey:@"name"]];

但是当我尝试访问valueForKey:@" id"它给了我这样的错误 "此类与密钥ID不符合密钥值编码。"

有人可以帮我解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你应该将你的属性(id和name)公之于众,并尝试在没有Key值编码的情况下访问它:

 [_nameLabel setText:(NSString*)[[AppState sharedInstance].arrayOfDicts 
                       objectAtIndex:idx]name]];