С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
#1

Работа с таблицами - Программирование iOS

25.12.2012, 15:46. Просмотров 941. Ответов 3
Метки нет (Все метки)

Есть список товаров (1,2,3,4)
На каждый мы может нажать и перейти.
НАпримеп на 1 и у нас новая таблица (ф,s,d,f)
Переходим на 2 - (й,ц,у,к)

И можем выбрать товар (checkmark)
Как правильно это сделать.
Не клепать же на каждый новый товар новый класс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 15:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с таблицами (Программирование iOS):

Работа с таблицами - MS Word
Доброго времени суток! Сразу оговорюсь, что поиск ничего толкового не дал. Есть файл docx, в котором всего 1 таблица с данными. Этот...

Работа с таблицами - JavaScript
Помогите сделать красивую таблицу. У меня есть код но почему то с моими кривыми руками ничего не работает. Нужно скомпоновать все кусочки...

Работа с 2 таблицами - MySQL
Столкнулся с проблемой и не знаю как её решить. У меня есть одна таблица с id и городом и вторая таблица с id и людьми. Мне нужно вывести...

Работа с таблицами - PHP
Всем привет! Вот такая задача.. Нужно создать таблицу, в ячейки которой я ввожу определенные данные. Эти данные используются в дальнейшем...

работа с таблицами - C#
Вот такая задача.. Нужно создать таблицу, в ячейки которой я ввожу определенные данные. Эти данные используются в дальнейшем в расчетах....

Работа с таблицами - HTML, CSS
Нужно сделать с del вот это del <html> <head> <title></title>

3
Vorona
Peace 2 all shining faces
670 / 532 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
25.12.2012, 17:35 #2
  • создать класс Товар
  • создать вьюконтроллер со списком Товаров
  • создать вьюконтроллер с детальным инфо о Товаре
теперь при клике на ячейку таблицы со списком Товаров, переходить на вьюху, где будут отображаться данные о Товаре
1
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
25.12.2012, 18:27  [ТС] #3
Vorona,

В этом кассе товар в зависимости от нажатой ячейки я подргружаю plist c массивом.

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
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section == 0) {
        return [sectionSubject count];
    } else {
        return 1;
    }
    
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
 
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1
                                      reuseIdentifier:CellIdentifier] autorelease];
    }
    
    
    if (indexPath.section == 0) {
        cell.textLabel.text = [self.sectionSubject objectAtIndex:indexPath.row];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    } else {
        cell.textLabel.text = @"";
    }
    
 
    
    
    return cell;
}
 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 
    
    // Save settings
    
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"boolSubject"] == YES) {
        [[NSUserDefaults standardUserDefaults] setObject:[self.sectionSubject objectAtIndex:indexPath.row] forKey:@"SubjectNameOrder"];
//        NSLog(@"\n\n%@\n\n", [[NSUserDefaults standardUserDefaults] objectForKey:@"SubjectNameOrder"]);
    }
    
    [[NSUserDefaults standardUserDefaults] setInteger:indexPath.row forKey:@"indexSelected"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    
    // 
    
    if (indexPath.section == 0) {
        
        if (indexPath.row == 0) {
            
            NSString *path = [[NSBundle mainBundle] pathForResource:@"it" ofType:@"plist"];
            NSArray *array = [NSArray arrayWithContentsOfFile:path];
            self.sectionDetail = array;
            
        } else if (indexPath.row == 1) {
            
            NSString *path = [[NSBundle mainBundle] pathForResource:@"AA" ofType:@"plist"];
            NSArray *array = [NSArray arrayWithContentsOfFile:path];
            self.sectionDetail = array;
            
        } else if (indexPath.row == 2) {
            
            NSString *path = [[NSBundle mainBundle] pathForResource:@"BB" ofType:@"plist"];
            NSArray *array = [NSArray arrayWithContentsOfFile:path];
            self.sectionDetail = array;
            
        }
        
        DetailSubject *declarationsDetail = [[[DetailSubject alloc] init] autorelease];
        
        declarationsDetail.selectedSubject = self.sectionDetail;
        
        declarationsDetail.titleDetail = [sectionSubject objectAtIndex:indexPath.row];
        
        NSLog(@"%@", [sectionSubject objectAtIndex:indexPath.row]);
        
        [self.navigationController pushViewController:declarationsDetail animated:YES];
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
        
    }
}
Это detail class

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
#pragma tableView
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [selectedSubject count];
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier:CellIdentifier] autorelease];
        
        
    }
    
    cell.textLabel.text = [selectedSubject objectAtIndex:indexPath.row];
    
        NSNumber *storedIndexPathRow = [[NSUserDefaults standardUserDefaults] objectForKey:@"indexPathDetail"];
        
        if (storedIndexPathRow && [storedIndexPathRow intValue] == indexPath.row) {
            
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            self.checkedIndexPath = indexPath;
            
        } else {
            
            cell.accessoryType = UITableViewCellAccessoryNone;
            
        }
    return cell;
}
 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    
    UITableViewCell *oldSelection = [tableView cellForRowAtIndexPath:self.checkedIndexPath];
    oldSelection.accessoryType = UITableViewCellAccessoryNone;
    
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
    
 
        
    if (selectedCell.accessoryType == UITableViewCellAccessoryCheckmark) {
        
        selectedCell.accessoryType = UITableViewCellAccessoryNone;
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"indexPathDetail"];
        
    } else {
        
        selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
        [[NSUserDefaults standardUserDefaults]setObject:[NSNumber numberWithInt:indexPath.row] forKey:@"indexPathDetail"];
        
    }
    self.checkedIndexPath = indexPath;
 
    
    
}
Когда я нажимаю на ячейку АА и выбираю например 4-товар.
То зайдя в BB у меня уже будет от отмечен.

Как правильно сохранять checkmark ?
0
Vorona
Peace 2 all shining faces
670 / 532 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
26.12.2012, 00:45 #4
немного не понял:
- вот вы в списке товаров
- выбираете товар и переходите на его детальную инфу
- ставите несколько галочек и когда снова сюда зайдете, хотите чтобы они остались?

если так, то ваши чекмарки должны иметь какой-то смысл, а значит это должно отразиться на вашей моделе, значит у вас в моделе должно быть какое-то поле, отвечающее за то, что вы там выбираете

теперь во вьюконтроллере, где вы ставите чекмарки, должен быть массив, отвечающий за состояния (выбран\не выбран) и массив с какими-то тегами или самими объектами, который можно сравнить с полем модели, отвечающим за выбор и расставить галочки в нужных местах
0
26.12.2012, 00:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 00:45
Привет! Вот еще темы с ответами:

Работа с таблицами - Delphi
Есть stringgrid1 и stringgrid2,надо из первой таблицы перенести значения во вторую Вроде получается,но не переносится первая...

Работа с таблицами - MySQL
Есть база данных - > Таблица(user_foto)->колонки(id_foto, title_foto, url_foto) Нужно сделать так чтобы в колонке title_foto записывались...

Работа с таблицами - VBA
Всем здравствуйте, как привести все таблицы к единому виду То есть чтобы в ячейке была строго цифра, то есть "10", а не "...

Работа с таблицами - jQuery
Всем добрый день) Заранее очень благодарен что вы посетили мою тему, спасибо за внимание Друзья, с ajax и js у меня совсем плохо....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.