我有一个用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不符合密钥值编码。"
有人可以帮我解决这个问题吗?
提前致谢!
答案 0 :(得分:0)
你应该将你的属性(id和name)公之于众,并尝试在没有Key值编码的情况下访问它:
[_nameLabel setText:(NSString*)[[AppState sharedInstance].arrayOfDicts
objectAtIndex:idx]name]];