- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用绑定(bind)到数组 Controller 的表设置了简单的 Xcode 项目。如果数组 Controller 充满了具有字符串属性的实体,它就可以正常工作。但是,我想将属性更改为 BOOL,并让表根据 BOOL 显示字符串“true”或“false”。
我已经重写了 NSFormatter 中的以下两个方法:
-(NSString*) stringForObjectValue:(id)object {
//what is the object?
NSLog(@"object is: %@", object);
if(![object isKindOfClass: [ NSString class ] ] ) {
return nil;
}
//i'm tired....just output hello in the table!!
NSString *returnStr = [[NSString alloc] initWithFormat:@"hello"];
return returnStr;
}
-(BOOL)getObjectValue: (id*)object forString:string errorDescription:(NSString**)error {
if( object ) {
return YES;
}
return NO;
}
因此,如果属性是字符串,则表中将填充“hello”,但是如果我将其切换为 bool 值,则表中将填充大量空格。
我不知道这是否有帮助,但在我输出对象的行上,如果属性是字符串,则输出 __NSCFString;如果将属性切换为 bool 值,则输出“文本单元格”。这是我不明白的另一件事。
最佳答案
好吧,从代码中并不是 100% 清楚你想要做什么,但首先要注意的是 - BOOL 不是一个对象,它基本上是 0 或 1,所以要将 BOOL 值放入数组中,你需要可能最好使用 NSNumber
:
NSNumber *boolValue = [NSNumber numberWithBool:YES];
并将它们放入您的数组中。现在你想改变你的方法:
-(NSString*) stringForObjectValue:(id)object {
NSNumber *number = (NSNumber *)object;
if ([number boolValue] == YES)
return @"true";
else
return @"false";
}
这里有一些事情 - 例如,如果可以的话,您希望避免传递 id
引用(如果您知道 NSArray
中的所有对象都是 NSNumber
,你不需要)。
关于objective-c - BOOL 的 NSFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588536/
我需要为某些字段创建一个自定义 NSFormatter,但如果值无效,我不想使用警报表来显示错误消息...我更喜欢仅使用 NSBeep()。这是可能的还是我必须用 NSFormatter 提出的标准表
这个问题在这里已经有了答案: dateFromString returns nil for some values (1 个回答) 关闭 6 年前。 我的格式化程序返回 nil 和一些日期字符串,这
如果您使用 Cocoa 一段时间,您可能熟悉 NSDateFormatter 和 NSNumberFormatter。它们可以方便地从日期和数字创建格式化显示字符串,或者将日期或数字字符串转换为数值,
我正在尝试使用一个类来覆盖 OS X 应用程序中的 NSFormatter。我尝试了书中的一个例子,但它来自旧版本的 XCode。我的问题是我不知道如何设置 NSTextfield 的格式化程序。我不
我有一个 NSPopUpButton,其内容值绑定(bind)到 NSNumbers 的 NSArray。 NSPopUpButton 在其弹出菜单中正确显示数字数组。但是,当我更改所选值时,我收到一
我已经使用绑定(bind)到数组 Controller 的表设置了简单的 Xcode 项目。如果数组 Controller 充满了具有字符串属性的实体,它就可以正常工作。但是,我想将属性更改为 BOO
在 Cocoa 中,我有一个 NSOutlineView,其中单元格是 NSTextFieldCell。该单元格显示的值是根据特定规则格式化的字符串(例如 float 或中间有空格的 float 对)
我正在获取字符串中对象的价格,我想将其格式化为货币。我正在使用以下代码: var priceString : NSString = urlDict.objectForKey("price") as N
我在日期格式方面遇到了真正的困难。我想完全忽略时区,因为所有时间都被认为是本地时间。我在 Playground 上试过了,效果很好。 var dateFormatter: NSDateFormatte
我想使用 NSFormatter 子类来格式化我用来显示选项列表的 NSPopUpButton 的内容。 基本上,我有一个 MyObjects 的 NSArray,它通过内容值绑定(bind)绑定(b
我想对输入字符串中的第一个字符进行着色。使用 controlDidChange 委托(delegate)方法可以轻松完成此操作。但是添加格式化程序后使用: [field setFormatter:[[
我在这里阅读了类似的问题,并在我的应用程序中编写了此方法 let formatter = NumberFormatter() func convertEngNumToPersi
我有一种方法可以将特定格式的字符串转换为 NSDate,但它偶尔会返回 nil。 - (NSDate *)dateFromString:(NSString *)dateAndTime { NS
我在 Swift 中有一个 NSFormatter,它附加到 NSTextField。它可以防止输入非法字符,但是当我尝试访问下一个字段的值时,它给出了一个 nil 值。 下面是类: class PS
我正在尝试为 SMPTE 时间代码格式化两个 NSTextField,其格式为:HH:MM:SS:FF。然而,当用户将SMPTE编码切换为丢帧时,SS和FF之间的分隔符需要切换为;(HH:MM:SS;
在Qt和C#中,我能够轻松地为电话号码和序列号等内容定义输入掩码。到目前为止,我读过的所有内容都让我相信 NSFormatter 就是答案,但我很难找到一个完整的示例,但它并不糟糕。我真的很想为序列号
我有一个必须是唯一的文本字段,因此我添加了自定义 NSFormatter (见下文) 格式化程序可以工作,正如您在屏幕截图中看到的那样,但是我正在使用的连续绑定(bind)已损坏,因此例如绑定(bin
我正在尝试将 NSFormatter 对象添加到 NSTextField 中,以便我可以验证文本字段是否仅包含字母数字字符串。 所以我这样做: 我创建了一个新的 Swift macOS 应用。 我将
我有一个项目当前使用带有绑定(bind)的基于单元格的 NSTableViews。我正在更新项目以改用 View 。对于单元格,我可以在代码中实例化 NSFormatter,将其添加到 NSTable
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我是一名优秀的程序员,十分优秀!