gpt4 book ai didi

cocoa - Cocoa 中的 setString 与 setStringValue

转载 作者:行者123 更新时间:2023-12-03 17:28:16 31 4
gpt4 key购买 nike

我尝试使用 setString 方法来更改文本字段中的文本,但没有成功。然后我将其更改为 setStringValue 并且成功了。那么setString有什么用呢?

最佳答案

NSTextField没有 setString:方法。 NSTextFieldNSControl 的一种类型,和NSControl有一个setStringValue:方法。

NSText及其更著名的子类 NSTextView有一个setString:方法。 @John Boker 是正确的,字段编辑器是 NSText ,但您仍然无法发送setString:NSTextField ,即使在编辑模式下也是如此。您需要从窗口获取字段编辑器,然后调用 setString:对此(并不是说你真的应该这样做)。

虽然这让新手感到困惑,但不同方法背后都有很好的理由。 NSControl有一个“值”,并且该值可以采用不同的类型( setDoubleValue:setObjectValue: 等),这允许我将该值设置为 double 值,然后作为字符串检索。对于广泛的可能的控制来说,这是很有意义的并且非常灵活。 NSText不是一个控件;注意它没有 setAction:setTarget:任何一个。其目的是显示和编辑(属性)字符串。当您调用string时,您实际上获得了真正的后备文本存储,而不仅仅是字符串形式的对象值(如 stringValueNSControl 所做的那样)。

也就是说,当您说“它不起作用”时,我希望您的意思是您收到了有关此问题的编译器警告,告诉您 NSTextField可能无法回复setString: 。如果您忽略编译器警告,那么您在 ObjC 中将会遇到很多问题。

关于cocoa - Cocoa 中的 setString 与 setStringValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3198635/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com