1) Он делает вещи, которые реализуют функции, требуемые его программой. Это не так уж сильно для Apple (например, какие методы делегирования я должен реализовывать при соблюдении такого-то протокола), но это поток его программы . Вероятно, существует миллион способов решения этой проблемы.
2) Не уверен, что вы имеете в виду, но он, кажется, использует много встроенных методов - я не вижу его действительно изобретающего колесо (пример:)
Person *p = [employeeController newObject];
// Add it to the content array of 'employeeController'
[employeeController addObject:p]; // <-- built in method
[p release]; // <-- built in method
// Re-sort (in case the user has sorted a column)
[employeeController rearrangeObjects]; // <-- built in method
// Get the sorted array
NSArray *a = [employeeController arrangedObjects]; // <-- built in method
// Find the object just added
int row = [a indexOfObjectIdenticalTo:p]; // <-- built in method
РЕДАКТИРОВАТЬ
Хорошо, так что для первого сообщения w, [w makeFirstResponder: w]; отсюда мы можем найти (http://developer.apple. .. NSWindow / makeFirstResponder ), что экземпляр NSWindow поддерживает сообщение makeFirstResponder. Я понимаю, что делать это с NSWindow так, что когда пользователь взаимодействует с ним, он будет первым респондентом, другими словами, он получит какие-либо действия для NSWindow. И под этим я подразумеваю «ш».
1) Откуда ты знаешь, что должен
делать все это? Есть ли
«контрольный список» или что-то в Apple
док? Опыт?
Отличный вопрос - я думаю, что он приходит с опытом и работой со всеми типами классов и элементами управления пользовательским интерфейсом. хех =] я не знаю ... может быть, у кого-то есть лучший ответ. Я хотел бы учиться!
Нашел хорошую ссылку: http://www.cocoadev.com/index.pl?FirstResponder