我有一个带有NSDictionaryController的基于视图的表,其内容绑定到Interface Builder中的NSUserDefaultsController:
在Swift中验证字典值的正确方法是什么? (字典键会自动验证,并且会为空键引发错误。我想对字典值执行相同的操作。)
答案 0 :(得分:0)
将单元格中文本字段的委托设置为表格视图的委托,并实现control(_:isValidObject:)
。
答案 1 :(得分:0)
您需要按如下方式实现一个功能:
@objc func validateToken(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>) throws {
guard ioValue.pointee != nil else {
// throw some error
}
}
你的Cocoa Binding将通过validateValue(_:forKey :)查找该函数。
要找到它,属性特定的验证函数必须暴露给Objective-C,必须根据模式validate InKey 命名,必须采用单个,可选的AnyObject指针参数,并且必须抛出(Apple Inc.,2018)。
我假设您的绑定指向字典中的特定值。
参考:
Apple Inc.(2018)。 validateValue(_:forKey :)。取自https://developer.apple.com/documentation/objectivec/nsobject/1416754-validatevalue