Почему вы используете символ подчеркивания для переменной экземпляра, но не соответствующее ему свойство?

Возможный дубликат:
Как подчеркивается символ подчеркивания перед переменной в classе цели-c cocoa?

Я новичок в разработке iphone. Я занимаюсь исследованиями записи голоса в iphone. Я загрузил образец программы «говорить здесь» от Apple. Он состоит из файла LevelMeter.h, в котором

@interface LevelMeter : UIView { CGFloat _level, _peakLevel; } 

Свойство задано как

  @property CGFloat level; @property CGFloat peakLevel; 

Каково использование объявления varible как _level и установки его свойства как level.Please объяснить мне. Спасибо.

напоминание

Директива @property эквивалентна объявлению как setter, так и getter. В случае level ,

 @property CGFloat level; 

можно заменить на

 - (CGFloat)level; - (void)setLevel:(CGFloat)v; 

Ваш вопрос

Зачем объявлять свойство с именем level для переменной с именем _level и почему в первую очередь следует _level переменную с ведущим _ ? Я не знаю.

Как это работает, ответили в LevelMeter.m :

 - (CGFloat)level { return _level; } - (void)setLevel:(CGFloat)v { _level = v; } 

Подчеркивание представляет материал, доступ к которому можно получить только из собственного classа. Таким образом, переменная экземпляра не должна быть доступна извне classа, но свойство может быть.

  • Open Source Cocoa / Cocoa-Touch POP3 / SMTP библиотека?
  • Как обнаружить паузу во вводе для UISearchBar / UITextField?
  • Использование Swift CFunctionPointer для передачи обратного вызова API CoreMIDI
  • Как отсортировать NSMutableArray с помощью sortedArrayUsingDescriptors?
  • Как отключить горизонтальную прокрутку UIScrollView?
  • Cocoa Touch: как изменить цвет и толщину границ UIView?
  • Есть ли какие-либо frameworks для выделения текста в pdf-файле после рендеринга на iphone
  • Iphone: как отобразить изображения в каталоге документов в режиме просмотра изображений?
  • Можете ли вы настраивать анимацию для встраиваемых ячеек UITableView?
  • Как заполнить фоновое изображение UIView
  • IPhone / IPad: Как получить ширину экрана программно?
  • Давайте будем гением компьютера.