这可能是一个天真的问题,但是,如何获得stringValue
NSTextField
的长度?我试过了
int len = strlen((char *)[textField stringValue]);
其中textField
是NSTextField
,但它总是返回6(指针的大小?)。此外,我确信有更多的Objective-C方式来做我想要的事情。
答案 0 :(得分:9)
NSUInteger length = [[textField stringValue] length];
这里要认识到的关键是NSString不是char *。要获得真正的C风格char *,您需要执行以下操作:
const char* ptr = [[textField stringValue]
cStringUsingEncoding:[NSString defaultCStringEncoding]];
更新为使用默认编码而不是假设ASCII。
答案 1 :(得分:2)
stringValue是NSString实例。 您可以使用下一个代码:
NSUInteger len = [[textField stringValue] length];