Форум программистов, компьютерный форум CyberForum.ru

Не происходит переход на следующий ListViewController по первому касанию - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Использование XMPPFramework http://www.cyberforum.ru/ios-dev/thread917710.html
Собственно сабж. Возможно ли использовать в комерческих программах? И какие подводные камни? На закуску киньте тутотиалов. Нашёл только http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-custom-chat-view-and-emoticons/ и собственно примеры с фреймворком.
Программирование iOS Регистрация А.Р. apple и Objective-C Всем привет ребят, помогите пожалуйста с регистрацией аккаунта разработчика apple, я прошла регистрацию, но через 2 дня мне прислали на email, что неправильно ввела данные карты, потом снова регистрацию попросили пройти, ужас.. Ну и вопросы по коду хочу спросить, 1. Мне надо чтоб от числа в label, отнималось -1 (ну например от 20, станет = 19). 2. Чтоб при оплате, в label менялось число (это... http://www.cyberforum.ru/ios-dev/thread917220.html
Создание приложения! IOS Программирование iOS
Приложение. Функции : Ознакомление с ВУЗом База преподавателей с их. Непосредственными должностными функциями. Для, того чтоб перваки знали к кому идти. Списки мероприятий с описанием и точками сбора. И тд. Список "отделов" вуза, а именно : профком, деканаты, мат.помощь, военный стол, и тому подобное с их местом дислокации. Далее База старост всех групп, для того, чтобы новобранцы знали...
Timer Программирование iOS
Нужно чтобы в течение N секунд считывался и анализировался буффер. Но только N сек. Я так понимаю, что нужно использовать NSTimer. Не дадите ссылку или же привидите пример как это будет правильнее сделать. Спасибо
Программирование iOS 2D editor for UML http://www.cyberforum.ru/ios-dev/thread913852.html
Доброго времени суток, как вы уже поняли, имеется нужда написать 2D editor for UML. Я поковырялся в гугле и поискал frameworks которые могли бы подойти на эту ролью, но информации и времени было не достаточно, чтобы детально рахобрать в каждом. Стандартно предлогают Open GL или Open GL SE, но может быть уже есть что нибудь заточеное именно для моих целей... Вот пример того как должно...
Программирование iOS CoreData and FetchRequest Hi, столкнулся с проблемкой... Есть БД, юзаю CoreData. В БД есть 2 поля lat,lon - тип данных double. Через визуальный редактор создал fetchRequest Пытаюсь сделать выборку по данном запросу NSFetchRequest *request = ; Но результат 0, хотя данные в БД 100% присутствуют. Заметил что если искать данные в БД с значениями с меньшей точностью @"lat":@"48.808513",@"lon":@"29.417176" подробнее

Показать сообщение отдельно
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 579

Не происходит переход на следующий ListViewController по первому касанию - Программирование iOS

05.07.2013, 00:10. Просмотров 492. Ответов 4
Метки (Все метки)

Есть два класса - ClassViewController и CategoryViewController. Первый отображает список классов, а второй - категории для каждого класса. Чтобы знать, какой класс был нажат - в CategoryViewController передается имя класса, и по нему выбираются нужные категории. Но вот загвоздка: к примеру, если я тыкаю на "Класс 1", то ничего не происходит. Затем, когда я тыкаю второй раз - происходит переход на второй контроллер, но со значением "Класс 1", то есть как будто я один раз нажал на первый объект. Как такое поведение можно исправить на нормальное? Заранее спасибо.

PS: внизу - файлы этих классов.

PPS: сильно не пинайте - я в программировании под iOS и вообще в objective-c новичок. Жизнь заставила :-)

ClassViewController.h:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#import <UIKit/UIKit.h>
 
@class Group;
@class ClassTableViewCell;
@class Menu;
 
@interface ClassViewController : UITableViewController
 
@property (nonatomic, strong) Menu *mainMenu;
 
-(void)showClass:(Group *)group animated:(BOOL)animated;
-(void)configureCell:(ClassTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
 
@end
ClassViewController.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#import "ClassViewController.h"
 
#import "Menu.h"
#import "ClassTableViewCell.h"
#import "CategoryViewController.h"
 
@implementation ClassViewController
 
- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        
    }
    return self;
}
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.title = @"Меню";
    self.tableView.rowHeight = 44.0;
    self.mainMenu = [[Menu alloc] init];
    
    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;
 
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
 
 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Support all orientations except upside down
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
 
-(void)showClass:(Group *)group animated:(BOOL)animated
{
    CategoryViewController *categoryViewController = [[CategoryViewController alloc] initWithStyle:UITableViewStyleGrouped];
    
    categoryViewController.group = group;
    categoryViewController.mainMenu = self.mainMenu;
    
    [self.navigationController pushViewController:categoryViewController animated:YES];
    [categoryViewController release];
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
#pragma mark - Table view data source
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _mainMenu.classes.count;
}
 
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ClassTableViewCellIdentifier";
    ClassTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier /*forIndexPath:indexPath*/];
    
    if (cell == nil)
    {
        cell = [[[ClassTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
    
    [self configureCell:cell atIndexPath:indexPath];
    
    return cell;
}
 
 
-(void)configureCell:(ClassTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    Group * group = [_mainMenu.classes objectAtIndex:[indexPath row]];
    cell.group = group;
}
 
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Group *group = (Group *)[_mainMenu.classes objectAtIndex:[indexPath row]];
    
    [self showClass:group animated:YES];
}
 
-(void)dealloc
{
    [_mainMenu release];
 
    [super dealloc];
}
 
@end
CategoryViewController.h:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import <UIKit/UIKit.h>
 
@class Menu;
@class Category;
@class CategoryTableViewCell;
@class Group;
 
@interface CategoryViewController : UITableViewController <UINavigationControllerDelegate>
 
@property (nonatomic, retain) Group *group;
@property (nonatomic, retain) Menu *mainMenu;
 
 
-(void)showCategory:(Category *)category animated:(BOOL)animated;
-(void)configureCell:(CategoryTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
 
@end
CategoryViewController.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#import "CategoryViewController.h"
 
#import "MenuViewController.h"
#import "Menu.h"
#import "CategoryTableViewCell.h"
#import "ClassTableViewCell.h"
#import "ClassViewController.h"
#import "Group.h"
#import "Category.h"
 
@interface CategoryViewController ()
 
@end
 
@implementation CategoryViewController
 
- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.title = @"Категории";
    self.tableView.rowHeight = 44.0;
}
 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
 
 
-(void)showCategory:(Category *)category animated:(BOOL)animated
{
    MenuViewController *menuViewController = [[MenuViewController alloc] initWithStyle:UITableViewStyleGrouped];
    
    menuViewController.category = category;
    menuViewController.mainMenu = self.mainMenu;
    
    [self.navigationController pushViewController:menuViewController animated:animated];
    [menuViewController release];
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
#pragma mark - Table view data source
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [[_mainMenu getCategoriesByClass:[self.group name]] count];
}
 
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CategoryTableViewCellIdentifier";
    CategoryTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    if (cell == nil)
    {
        cell = [[[CategoryTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
    
    [self configureCell:cell atIndexPath:indexPath];
    
    return cell;
}
 
 
-(void)configureCell:(CategoryTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    Category *category = [[_mainMenu getCategoriesByClass:_group.name] objectAtIndex:[indexPath row]];
    cell.category = category;
}
 
 
 
#pragma mark - Table view delegate
 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    Category *category = (Category *)[[_mainMenu getCategoriesByClass:_group.name] objectAtIndex:[indexPath row]];
    
    [self showCategory:category animated:YES];
}
 
-(void)dealloc
{
    [_group release];
    [super dealloc];
}
 
@end
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru