Objective-C @接口/指针说明

Sne*_*ess 1 cocoa pointers interface class objective-c

一如既往地学习,很顺利,直到我意识到我不知道这些之间的差异意味着什么.

@class Player;
@class Map;

@interface View : NSView
{
    Player* player_;
    Map* currentMap_;
    NSMutableArray *worldArray;
    NSMutableArray *itemArray;
    float cellHeight_;
}

@end
Run Code Online (Sandbox Code Playgroud)

没关系,原来明星所在的一面根本没有效果.现在我知道为什么我这么困惑.

joh*_*188 7

所有目标C对象都由指针引用,这是*表示的.星是左侧还是右侧对编译器无关紧要; 我相信这是个人喜好.

float没有*因为它是C原语,而不是Objective C对象.

  • Sneakyness:C是一种自由格式语言.除非没有它,否则空格无关紧要,即便如此,无论你使用多少或哪些空白都无关紧要.在这种情况下,最小值是"`Player*player_;`".空白使事情更容易阅读,并且通常更清晰,但几乎总是不需要编译器. (2认同)
  • 即:`int main(void){return!printf("%s%c%s \n","Hello",0x20,"world");}`在整个有效程序中只有一个空白字符.(当然,这是编写实际代码的一种不好的方法.) (2认同)