Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
noname_club
106 / 97 / 12
Регистрация: 01.05.2013
Сообщений: 603
12.06.2014, 15:39 0

Приложение с множеством контроллеров

12.06.2014, 15:39. Просмотров 1507. Ответов 10
Метки (Все метки)

Ответ

приложение без UITableViewController и без Segue перехода.

UIViewController+Macro.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
/*
 переходы между контроллерами,
 макро конструктор
*/
 
#ifndef Storyboard
 
#define Storyboard [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]]
 
#define viewcontroller(name) [Storyboard instantiateViewControllerWithIdentifier:name]
 
#endif
Код табличного котроллера

c_start.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#import "c_start.h"
#import "c_detail.h"
 
@implementation cell_ViewController
 
 
 
@end
 
#pragma mark -
 
@implementation c_start
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    _cells_data = @[
                    @{
                       @"title" : @"Кот",
                       @"detail" : @"Описание кота"
                       },
                    @{
                        @"title" : @"Собака",
                        @"detail" : @"Описание собаки"
                        },
                    @{
                        @"title" : @"Слон",
                        @"detail" : @"Описание слона"
                        },
                    @{
                        @"title" : @"Яблоко",
                        @"detail" : @"Описание Яблоко"
                        },
                    @{
                        @"title" : @"Карандаш",
                        @"detail" : @"Описание Карандаш"
                        },
                    @{
                        @"title" : @"Лампа",
                        @"detail" : @"Описание Лампа"
                        },
                    ];
    
    // настройка таблицы
    
    _table.delegate = self;
    _table.dataSource = self;
    
}
 
-(void)dealloc {
    _cells_data = nil;
}
 
#pragma mark TABLE
 
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   
    cell_ViewController * cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    
    cell.data = _cells_data[indexPath.row];
    cell.title.text = cell.data[@"title"];
    
    cell.backgroundColor = [UIColor clearColor];
    
    return cell;
}
 
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}
 
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [_cells_data count];
}
 
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSDictionary * data = _cells_data[indexPath.row];
    
    c_detail * vc = viewcontroller(@"c_detail"); // << макро-конструктор
    vc.selected_data = data; // << передача данных в котроллер
    
    [self.navigationController pushViewController:vc animated:YES]; // >>
}
 
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 44;
}
 
@end
Код детального котроллера

c_detail.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#import "c_detail.h"
 
@implementation c_detail
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    if (_selected_data) {
        self.navigationItem.title = _selected_data[@"title"];
        _textview.text = _selected_data[@"detail"];
    }
}
 
@end
Приложение с множеством контроллеров


Вернуться к обсуждению:
Приложение с множеством контроллеров
1
Вложения
Тип файла: zip test_hello_aplication.zip (41.4 Кб, 14 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 15:39
Готовые ответы и решения:

Как создать приложение с множеством панелей?
Здравствуйте, я раньше программировал в основном в eclipse на java на...

Построить биекцию между множеством N и множеством чётных чисел
Друзья, нужна помощь в построении биекции, как это сделать? :scratch:

Тестирование контроллеров
Добрый день! Например, есть action MyAction, который возвращает ViewResult,...

Конфликт контроллеров
Здравствуйте, продолжаю вас мучить своими нубскими вопросами относительно...

Сеть контроллеров
Всем трям. Есть такой вопрос. Есть несколько устройств и блок управления....

10
Другие темы раздела
Программирование iOS Рейтинг приложения в магазине http://www.cyberforum.ru/ios-dev/thread1204485.html
Добрый день! Есть приложение в Itunes. Иногда пользователи оценивают его, но само приложение звездочек не получает. Тоесть отзы есть, а общая оценка приложения отсутствует. Как я понял, приложение...
Программирование iOS Как обратится к view из созданного файла? Всем доброго времени суток. Возникла потребность из созданного мной файла (subclass of UIView), вывести картинка на view. При попытке отобразить картинку ; получаю сообщение следующего содержания:... http://www.cyberforum.ru/ios-dev/thread1202899.html
Программирование iOS Соединить проекты
Могу ли я соединить проекты, В первомприложение парсинг и.т.д, а во втором coredata с таблицами ViewController и.т.д?
Windows -> ios Программирование iOS
Можно ли создать базу данных в windows и подключить к своему приложению чтоб открывал? Дайте инструкцию пожалуйста буду благодарен;D Или как создать бд и привязать к своему приложению
Программирование iOS Тормозит игра при добавлении эффекта огня, реализованного системой частиц http://www.cyberforum.ru/ios-dev/thread1201537.html
Добрый вечер форумчане, неполадка у меня такая- когда я добавляю эффект огня реализованного системой частиц, игра начинает жудко тормозить, при чем, чем больше размер огня, тем сильнее тормозит...
Программирование iOS SIGKILL Когда компилирую свое приложение на симуляторе стоит черный экран приложение не запускается в чем проблема? подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru