Где я могу найти.m файл UIKit

В EGOTableViewPullRefresh Demo я вижу, что он ссылается на свойство self.view и self.tableView в

EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)];

Насколько я понимаю, view и tableView - это один и тот же объект, но tableView - это тип представления, но когда я хочу увидеть файл реализации, я не могу его найти. Я вижу.h файл с помощью Option+click, но не могу найти его реализацию. Как я могу найти.m файл?

1 ответ

Решение

Вы не можете увидеть файл TableViewController.m, потому что эта реализация является частной, и Apple не хочет, чтобы вы могли зависеть от реализации - только от интерфейса - по двум причинам:

  1. Если вы зависите от конкретной реализации, они никогда не смогут изменить / улучшить ее, потому что им придется продолжать обеспечивать обратную совместимость в течение некоторого времени.
  2. Apple не хочет, чтобы конкуренты (например, Android и т. Д.) Могли легко копировать свои работы.

Вам нужно придерживаться общедоступной документации, которую Apple предоставляет для UITableView и друзей. Там, я думаю, вы увидите, что представление является унаследованным свойством от класса UIView, тогда как tableView - это свойство, которое связывает UITableViewController с правильным представлением для таблицы, которой он управляет.

Другие вопросы по тегам