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

Joh*_*one 2 cocoa objective-c

这可能是一个幼稚的问题,但是,我怎么得到的长度stringValueNSTextField?我试过了

int len = strlen((char *)[textField stringValue]);
Run Code Online (Sandbox Code Playgroud)

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

nal*_*all 9

请参阅NSString文档

NSUInteger length = [[textField stringValue] length];
Run Code Online (Sandbox Code Playgroud)

这里要实现的关键是NSString不是char*.要获得真正的C风格char*,您需要执行以下操作:

const char* ptr = [[textField stringValue]
    cStringUsingEncoding:[NSString defaultCStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

更新为使用默认编码而不是假设ASCII.