Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ZaVyLoN
84 / 84 / 20
Регистрация: 26.10.2009
Сообщений: 269
#1

Работа с таблицами

25.12.2012, 15:46. Просмотров 980. Ответов 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
Ответы с готовыми решениями:

Работа с таблицами
Доброго времени суток! Пытаюсь изучать параллельно с C#, SQL. И вот...

Работа с таблицами
При создании программы, которая работает с таблицей, я столкнулся с проблемой-Я...

Работа с таблицами
Есть база данных - > Таблица(user_foto)->колонки(id_foto, title_foto, url_foto)...

Работа с таблицами
Хочу написать небольшую программку для работы с таблицами. Я так понимаю...

Работа с таблицами
Проблемка с MatLab. У нас есть таблица из двух столбцов и n строк (не суть...

3
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
25.12.2012, 17:35 #2
  • создать класс Товар
  • создать вьюконтроллер со списком Товаров
  • создать вьюконтроллер с детальным инфо о Товаре
теперь при клике на ячейку таблицы со списком Товаров, переходить на вьюху, где будут отображаться данные о Товаре
1
ZaVyLoN
84 / 84 / 20
Регистрация: 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
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
26.12.2012, 00:45 #4
немного не понял:
- вот вы в списке товаров
- выбираете товар и переходите на его детальную инфу
- ставите несколько галочек и когда снова сюда зайдете, хотите чтобы они остались?

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

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

Работа с таблицами
помогите реализовать эти задания в икселе

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

Работа с таблицами
Как сделать так, чтобы textView или IMageView занимали место в ячейке ровно...


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

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

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