我必须遗漏一些非常明显的东西,但我已经全神贯注,无法找到解决方案。
在Interface Builder中,我已将NSNumberFormatter连接到NSTextField,我已将该值绑定到浮点值。这一切都按预期工作,数字得到验证和更新。除非我输入一个空字符串,否则我会得到一个例外:
Exception detected while handling key input.
[<ResolutionSetting 0x11d029430> setNilValueForKey]: could not set nil as the value for the key scale.
如果文本字段为空,有没有办法让NSTextField返回空字符串(@“”)而不是nil?或者,有没有办法让NSNumberFormatter处理nil值?
答案 0 :(得分:1)
setNilValueForKey:方法的默认行为是引发异常。您需要在代码中实现此方法以覆盖默认行为。例如,在未输入任何内容时指定0.0值。 例如:
- (void)setNilValueForKey:(NSString *)key{
//here you can either assign @"" or 0.0
}
您还可以在数字格式化程序属性检查器中指定最小值和最大值。
本主题在Apple文档中的“键 - 值编码编程指南”中以及“Mac OS X的Cocoa编程”的第7章中有所介绍。
答案 1 :(得分:1)
将#! /bin/bash
inotifywait -mr -e create --format '%w%f' /hdfs-nfs/* | while read NEWFILE; do
echo "${NEWFILE} detected"
hadoop fs -put "${NEWFILE}" /
done
的{{1}}设置为非空字符串。
nilSymbol
然后不再抛出异常,但向用户抱怨NSNumberFormatter
是无效值。我不确定为什么会这样,但它是我发现的最简单的解决方案。
NSTextField