Нужна помощь в понимании цели C кода - PullRequest
0 голосов
/ 30 мая 2009

Мне нужна помощь в понимании следующего кода:

  1. Что означает «@» в @ «Перезагрузить»

    button = MakeTestButton (& button_rect, @ "Перезагрузить", контент); [кнопка setTarget: web_view]; [кнопка setAction: @selector (reload:)];

  2. Где я могу найти определение "@selector (reload :)"?

Ответы [ 3 ]

5 голосов
/ 30 мая 2009
  1. Строковые константы объявлены как @"some text" в target-c. Это создает экземпляр NSString.
  2. Я рекомендую вам прочитать документацию Apple по селекторам . По сути, @selector(reload:) получит указатель на метод, который будет вызываться, когда объект получает сообщение reload:.
4 голосов
/ 30 мая 2009
  1. Знак @ указывает компилятору, что строка является строкой NSSt вместо стандартной строки «C». Это ярлык для создания объектов NSString.

  2. См. Объяснение использования какао @selector

4 голосов
/ 30 мая 2009

@ селектор - это встроенный в язык примитив. Думайте о @selector (reload :) как о «имени метода reload:». Он возвращает SEL, который вы затем можете передать функции, а затем использовать ее для вызова метода «reload:». В контексте вашего кода, когда вы нажимаете кнопку, кнопка будет вызывать [web_view reload: self].

В @ "Reload", @ означает, что это экземпляр NSString вместо (char const *).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...