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

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

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

Показать сообщение отдельно
Veyron
 Аватар для Veyron
105 / 105 / 4
Регистрация: 02.06.2009
Сообщений: 579
05.07.2013, 00:10     Не происходит переход на следующий ListViewController по первому касанию
Есть два класса - 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru