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

Рефакторинг кода. - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C ObjC как обертка для C? http://www.cyberforum.ru/objective-c/thread391722.html
Доброго времени суток. Я не iOS/MacOS разработчик, мне нет дела до Xcode и яблочного API. Мне интересен сам язык Objective-C ибо в C++ я разочаровался. Отсюда вытекабт некоторые вопросы: 1....
Objective-C Поместить иконку программы в трей на MacOS (не Dock, а именно трей - сверху справа) Доброго времени суток. Хотелось бы узнать как написать на Objective C следующее: в трее должна висеть иконка, при клике на нее вылезает окошко. В инете информации не нашел. Буду признателен... http://www.cyberforum.ru/objective-c/thread389219.html
Objective-C Локализация
Здравствуйте. Подскажите,пожалуйста, почему не работает локализация в таком простом примере. - (void)viewDidLoad { ; // Do any additional setup after loading the view, typically from a nib....
Objective-C Перелистывание View
Добрый вечер. Возник вопрс. Как сделать так. чтобы можно было перелистывать view. Т.е. есть исходная view и при нажатии внизу на кнопку вправо или перетегиванием пальцем, открывается другая....
Objective-C Помогите с GNUstep на Windows. http://www.cyberforum.ru/objective-c/thread383988.html
Здравствуйте, форумчане. Установил GNUstep на Windows. При попытке компиляции файлов компилятор выдаёт сообщение типа "Foundation/Foundation.h no such file or directory". Что надо сделать, чтобы...
Objective-C xCode глючит? Прошу прощения, но я не понимаю. Вот код: #import "Menu.h" @interface Game : UIView { Menu *menuScene; }xCode выделяет красным цветом строчку "Menu *menuScene;" и пишет, что Unknown type... подробнее

Показать сообщение отдельно
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57

Рефакторинг кода. - Objective-C

28.11.2011, 13:10. Просмотров 1494. Ответов 1
Метки (Все метки)

Доброго всем дня. помогите упростить кусок кода с if.

Первая секция - две строки
При нажатии на каждую - раскрываются в список, при повторном нажатии список закрывается.
При повторном нажатии - список сворачивается обратно в одну ячейку.
При нажатии на ячейке списка меняется заголовок родительской ячейки

этот кусок служит отображением таблицы в соответствии со статусами нажатий
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
 //Для первой секции
    if (indexPath.section == 0) 
    {
        //Отображаем два свернутых списка
        if ((isShowingList==NO)&&(isShowingList2==NO)) 
        {
            if(indexPath.row==0) 
            {
                cell.textLabel.text = [dataForSection01 objectAtIndex: selectedValueIndex];
            }
            else 
            {
                cell.textLabel.text = [dataForSection02 objectAtIndex:selectedValueIndex2];
            }
        }
        //Отображаем первый список развернутый а второй свернутый
        if ((isShowingList==YES) && (isShowingList2==NO)) 
        {
            if (indexPath.row == 0) cell.textLabel.text=[dataForSection01 objectAtIndex:selectedValueIndex];
            else if (indexPath.row <= sizeArray) 
            {
                cell.textLabel.text = [dataForSection01 objectAtIndex:indexPath.row-1];
            }
            else 
            {
                cell.textLabel.text = [dataForSection02 objectAtIndex:selectedValueIndex2];
            }
        }
        //Отображаем второй список развернутый а первый свернутый
        if ((isShowingList==NO) && (isShowingList2==YES)) 
        {
            if (indexPath.row == 0) 
            {
                cell.textLabel.text = [dataForSection01 objectAtIndex:selectedValueIndex];
            }
            else if (indexPath.row==1) 
            {
                cell.textLabel.text= [dataForSection02 objectAtIndex:selectedValueIndex2];
            }
            else 
            {
                    cell.textLabel.text = [dataForSection02 objectAtIndex:indexPath.row-2];
            }
        }
        //оба списка развернуты
        if ((isShowingList == YES) && (isShowingList2==YES)) 
        {
            if (indexPath.row == 0) 
            {
                cell.textLabel.text= [dataForSection01 objectAtIndex:selectedValueIndex];
            } else if (indexPath.row <= sizeArray) 
            {
                cell.textLabel.text = [dataForSection01 objectAtIndex:indexPath.row-1];
            }
            else if (indexPath.row==sizeArray+1) 
            {
                cell.textLabel.text = [dataForSection02 objectAtIndex:selectedValueIndex2];
            }
            else 
            {
                cell.textLabel.text = [dataForSection02 objectAtIndex:indexPath.row - (sizeArray+2)];
            }
        }
    }
кусок на Objective-C поэтому то что в квадратных скобках это вызов функции, двоеточия означают параметры.
можно ли как нить проще сделать эти условия?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru