Основная функция запускает цикл событий основной программы, обычно вы его не трогаете.
AppDelegate - это место, куда вы хотите поместить свой собственный код пользователя. Если вы сгенерируете пример проекта iPhone под названием Sample, вы создадите класс с именем SampleAppDelegate, у него есть метод с именем - (void)applicationDidFinishLaunching:(UIApplication *)application
, который является точкой входа, которую, я думаю, вы ищете.
Класс SampleAppDelegate реализует делегат (например, интерфейс в c #) из UIApplicationDelegateProtocol , некоторые из методов являются необязательными, но applicationDidFinishLaunching не является. Как правило, именно здесь вы настраиваете свой первый контроллер вида, чтобы сделать свой начальный экран.
Вызов метода осуществляется через передачу сообщений. Если у меня есть класс Tom с методом print, я инициализирую и вызываю метод следующим образом:
Tom *tom = [[Tom alloc]init];
[tom print];
о нет, куда делись аргументы моего метода? Я чувствую себя потерянным без скобок.
Если у меня есть метод, который печатает номера страниц и возвращает void, я мог бы определить его как таковой
-(void)printPageNumbers:(int)pageNumber{
}
и назовите это так
Tom *tom = [[Tom alloc]init];
[tom printPageNumbers:2];
несколько параметров
-(void)printPageNumbersFrom:(int)fromPageNumber toPageNumber:(int)toPageNumber{
}
и назовите это
Tom *tom = [[Tom alloc]init];
[tom printPageNumbersFrom:2 toPageNumber:5];
Это не очень безопасный язык, вы можете делать что-то напуганное, например, если у вас есть массив объектов Tom, вы можете просто отправить одному из них сообщение. Если во время выполнения окажется, что объект в массиве не является Томом, вы получите исключение.
[[myArray objectAtIndex:0] printPageNumbersFrom:2 toPageNumber:5];
Некоторые комментарии к вышесказанному «поэтому для каждого класса будет .h файл .m файл .xib файл» - это неверно. У каждого класса есть «.h» и «.m».
.xib - это файл представления, если в вашем классе нет элемента пользовательского интерфейса, он не будет иметь .xib. '.xib', называемый nib-файлом, в любом случае не является частью класса, он просто ссылается на него. (вы связываете два)
Я нашел кривую обучения довольно крутой. Objective-C не является жестким языком, если у вас есть C и некоторая поддержка OO. Однако соединить все это с пользовательским интерфейсом может быть немного больно. У Стэнфордского университета есть онлайн-курс, который они распространяют через iTunes U Я посмотрел их все, что они того стоят, см. здесь
наслаждайся кривой, я рад, что я не сижу там, где ты есть:)