Я - Java-разработчик, изучающий Objective C для проекта IPhone, мой вопрос о дизайне ООП в Какао. У меня есть приложение, основанное на представлении, которое взаимодействует с веб-сервисом и получает XML, , анализирует его и сопоставляет его содержимое с соответствующим компонентом представления (например, если дата показывает вопрос с помощью DatePicker, если вопрос имеет 2 значения показать его с сегментированным элементом управления, если больше - с помощью pickerview..etc), так что это динамический вопросник со многими страницами.
Каков наилучший дизайн, возможный здесь, с учетом структуры какао, например, если я создаю класс «Соединение» для выполнения веб-запроса, могу ли я создать объект соединения из своего класса ViewController и использовать его? или я должен использовать классы deletegete для этого .. потому что мой класс будет включать методы, такие как:
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[webData setLength: 0];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[webData appendData:data];
}
Должны ли вышеуказанные реализованные методы помещаться в класс viewcontroller?
И второй вопрос, как я могу сделать дизайн для отображения ответа xml в связанные компоненты представления пользовательского интерфейса? Я хочу сделать код как можно более ориентированным на объект, а не слишком много, если в моем классе контроллера представления есть иное, но вместо этого он должен получить только, скажем, «объект uiview», заполненный необходимыми компонентами представления, и он просто покажет его. но сопоставление и рассуждение должно быть сделано где-то еще ... где я могу это сделать, а затем куда я могу поместить методы, например;
-(NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
return [itemArray count];
}
это должно быть в классе контроллера? если нет, то как я могу получить доступ к этим методам.
Надеюсь, я смог прояснить себя.