0

我正在尝试在没有点符号的情况下编写此代码,但无法弄清楚:

[[textField text] rangeOfCharacterFromSet:someInstanceVar].location

我不断得到bad receiver type NSRange (aka '_struct NSRange')

这不可能吗?

亲切的问候

4

1 回答 1

5

没有点就不能这样称呼。 rangeOfCharacterFromSet返回 a NSRange,这是一个普通的 C 结构:

typedef struct _NSRange {
    NSUInteger location;
    NSUInteger length;
} NSRange;

而不是 Objective-C 对象。.location访问该结构的第一个成员并且是纯 C 语法。这与属性的点表示法或方法调用无关。

于 2014-02-20T14:41:57.687 回答