如何获取NSTextField的stringValue的字符串长度?

时间:2009-10-16 06:31:14

标签: objective-c cocoa

这可能是一个天真的问题,但是,如何获得stringValue NSTextField的长度?我试过了

int len = strlen((char *)[textField stringValue]);

其中textFieldNSTextField,但它总是返回6(指针的大小?)。此外,我确信有更多的Objective-C方式来做我想要的事情。

2 个答案:

答案 0 :(得分:9)

请参阅NSString documentation

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];