需要帮助理解目标c代码

时间:2009-05-29 21:53:11

标签: objective-c

我需要一些帮助来理解以下代码:

  1. @“Reload”中的'@'是什么意思

    button = MakeTestButton(& button_rect,@“Reload”,content); [button setTarget:web_view]; [button setAction:@selector(reload :));

  2. 我在哪里可以找到“@selector(reload :)”的定义?

3 个答案:

答案 0 :(得分:5)

  1. 字符串常量在objective-c中声明为@"some text"。这会创建一个NSString
  2. 的实例
  3. 我建议您阅读Apple的documentation on selectors。基本上,@selector(reload:)将获得指向当对象收到reload:消息时将调用的方法的指针。

答案 1 :(得分:4)

@selector是该语言中的内置基元。将@selector(reload :)视为“方法的名称'reload:'”。它返回一个SEL,然后您可以将其传递给函数,然后使用它来调用方法“reload:”。在代码的上下文中,当您单击按钮时,该按钮将调用[web_view reload:self]。

在@“Reload”中,@表示它是一个NSString实例而不是(char const *)。

答案 2 :(得分:4)

  1. @符号向编译器指示该字符串是NSString而不是标准的“C”字符串。这是创建NSString对象的快捷方式。

  2. 请参阅Explanation of Cocoa @selector usage