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

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

Войти
Регистрация
Восстановить пароль
 
good soul
3 / 3 / 0
Регистрация: 04.02.2014
Сообщений: 69
#1

Получение и разбор JSON - Программирование iOS/iPhone

30.07.2014, 02:36. Просмотров 861. Ответов 8
Метки нет (Все метки)

Нужно срочно написать , а я object c очень плохо знаю ( мне говорили что он очень похож на с++, но это лож )

Список, элементы которого будут элементы из массива JSON можно получить в
http://dev.tapptic.com/test/ JSON.php
Фон принимающей деятельности, перечень будет линейный градиент
от красного (сверху) на зеленый (среднего) и синего (внизу).
Представление списка будет занимать весь экран и будет прозрачной, чтобы
что фон всегда видна.
Каждая ячейка будет содержать белый вид надписи (имя поля из WS) и
просмотр изображений (изображения поля из WS).
Когда клетка ориентирована (потому что выбирается трекбола или
Dpad), его фон будет серым.
Выбран (или нажал) ячейка будет иметь белый фон с черным текстом.
Нормальная клетка будет иметь прозрачный фон.

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

Деталь часть, содержащая вид прокрутки и кнопки переключения. Прокрутки
вид будет содержать ImageView и TextView.
TextView будет отображать поле "Текст" объекта JSON доступную
athttp :/ / dev.tapptic.com / тест / JSON.php имя? = ххх , где ххх это имя
поле выбранного элемента из списка. Просмотр изображений будет отображаться
"образ" поле того же объекта JSON.
При нажатии на кнопку переключения будет, в соответствии с его состоянием (вкл / выкл),
исчезают в / исчезать из ScrollView.
ScrollView будет иметь черный фон в то время как вид верхнего уровня
группа будет иметь красный фон.
кнопка-переключатель будет позиционироваться в самом низу экрана,
горизонтально по центру и ScrollView будет занимать все доступное пространство
на верхней части кнопки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 02:36     Получение и разбор JSON
Посмотрите здесь:

Objective-C JSON
Посоветуйте JSON framework Objective-C
парсинг JSON Objective-C
PHP и JSON
Objective-C NSDictionary и JSON
Разбор JSON: исправить ошибки в коде
Парсинг JSON в XCode
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
30.07.2014, 07:24     Получение и разбор JSON #2
good soul, куда устраиваетесь? Что за фирма такая классная?
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
30.07.2014, 08:19     Получение и разбор JSON #3
А вопрос-то ваш в чем? Или "вот вам задание, сделайте за меня" ?
good soul
3 / 3 / 0
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 17:25  [ТС]     Получение и разбор JSON #4
объясните хотя бы что такое json и как с ним работать . я так понимаю это какой то тип массива на подобе как List. только ниче толком найти не могу. или не понимаю.
lexus_ilia
3045 / 921 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
30.07.2014, 17:31     Получение и разбор JSON #5
Цитата Сообщение от zulkis Посмотреть сообщение
good soul, куда устраиваетесь? Что за фирма такая классная?
Я думаю, что устраивается он в компанию tapptic (так как оттуда и надо брать json файл).
good soul, а в чем проблема поискать в интернете что такое JSON ? Также найти как с ним работать в Objective-C я тоже проблем не вижу. Вы показывайте что вы уже попробовали и что у вас не получается, а мы поможем.
good soul
3 / 3 / 0
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 21:21  [ТС]     Получение и разбор JSON #6
вообщем я нашел одну замечательную книгу ( Аарон Хилегас Object C. Программирование для iOS и MacOS ) в которой нашел такое понятие как списки. Вот код :

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
int main(int argc, const char * argv[])
{
    @autoreleasepool {
        NSMutableArray *stocks = [[NSMutableArray alloc] init];
        NSMutableDictionary *stock;
        stock = [NSMutableDictionary dictionary];
        [stock setObject:@"AAPL"
                  forKey:@"symbol"];
        [stock setObject:[NSNumber numberWithInt:200]
                  forKey:@"shares"];
        [stocks addObject:stock];
        stock = [NSMutableDictionary dictionary];
        [stock setObject:@"GOOG"
                  forKey:@"symbol"];
        [stock setObject:[NSNumber numberWithInt:160]
                  forKey:@"shares"];
        [stocks addObject:stock];
        [stocks writeToFile:@"/tmp/stocks.plist"
                 atomically:YES];
 
        // чтение файла
        NSArray *stockList = [NSArray arrayWithContentsOfFile:@"/tmp/
stocks.plist"];
        for (NSDictionary *d in stockList) {
            NSLog(@"I have %@ shares of %@",
      [d objectForKey:@"shares"], [d objectForKey:@"symbol"]);
}
}
return 0;
}
на сколько я понял - это то что надо.

Результатом данного деяния является файл stocks.plist в котором ( если я не ошибаюсь ) XML код.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC
  "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>shares</key>
        <integer>200</integer>
        <key>symbol</key>
        <string>AAPL</string>
    </dict>
    <dict>
        <key>shares</key>
        <integer>160</integer>
        <key>symbol</key>
        <string>GOOG</string>
    </dict>
</array>
</plist>
вся эта байда консольная, а у меня как я понял приложение с графикой.

Вопрос заключается в том как реализовать этот список графически ( если я конечно нахожусь на верном пути ).

Спасибо.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
31.07.2014, 07:38     Получение и разбор JSON #7
good soul, работайте с UITableView
good soul
3 / 3 / 0
Регистрация: 04.02.2014
Сообщений: 69
31.07.2014, 21:45  [ТС]     Получение и разбор JSON #8
помогите разобрать код :
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
#pragma mark - Table View Controller Methods
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"LocationCell"];
    
    Location *location = [_locations objectAtIndex:indexPath.row];
    
    UILabel *nameLabel = (UILabel*) [cell viewWithTag:101];
    nameLabel.text = location.title;
    
    NSURL *imageURL = [NSURL URLWithString:location.telephone];
    NSString *key = [location.telephone MD5Hash];
    NSData *data = [FTWCache objectForKey:key];
    if (data) {
        UIImage *image = [UIImage imageWithData:data];
        UIImageView *imgView = (UIImageView*)[cell viewWithTag:100];
        
        imgView.image = image;
    } else {
        UIImageView *imgView = (UIImageView*)[cell viewWithTag:100];
        
        imgView.image = [UIImage imageNamed:@"icon.png"];
        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
        dispatch_async(queue, ^{
            NSData *data = [NSData dataWithContentsOfURL:imageURL];
            [FTWCache setObject:data forKey:key];
            UIImage *image = [UIImage imageWithData:data];
            dispatch_sync(dispatch_get_main_queue(), ^{
                imgView.image = image;
            });
        });
    }
    
    
    
    return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    
    return [_locations count];
}
Добавлено через 17 минут
я сделал список и в нем ( в каждой ячейке ) картинка и текст. В примере из которого я взял вышеприведенный код : картинка и 2 label, в которых, в 1м текст, а во 2м дата.Я удалил 2й ( на всякий случай говорю, может остались там части ненужного кода ). В примере Json файл ( вот такая фигня кароче http://dev.tapptic.com/test/json.php ) отличается от моей ( которую я вам привел ). Там в начале есть слово Location, по которому, я так понял, начинается считывание. У меня нет никаких слов поэтому в JSONLoader.m вот это поле я оставил так NSArray *array = [jsonDictionary objectForKey:@"( ЗДЕСЬ БЫЛО ТО САМОЕ СЛОВО Location, но я его удалил. Не знаю правильно ли это?????! )"]; // КЛЮЧ К ПОИСКУ ПО ФАЙЛУ JSON. Остальное в файле очень похоже на мой, только там параметров больше ( всякие id и т.д ).

Добавлено через 2 минуты
Я еще не понимаю JSONLoader ( я просто скачал этот файл с того же примера). Он всегда одинаковый или его тоже нужно редактировать под себя? (я плохо понимаю как работать с этим классом)

Добавлено через 9 минут
Каждая ячейка будет содержать белый вид надписи (имя поля из WS) и
просмотр изображений (изображения поля из WS).

вот здесь я не понимаю, можете как то разъяснить другими словами.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2014, 14:43     Получение и разбор JSON
Еще ссылки по теме:

Objective-C JSON парсинг из базы в таблицу
Парсинг JSON из локального файла Objective-C
Swift JSON Parsing Swift
Парсер JSON (возникает ошибка) Objective-C
Swift Json to Object

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

Или воспользуйтесь поиском по форуму:
PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 43
02.08.2014, 14:43     Получение и разбор JSON #9
good soul, так ты б и сказал что не понимаешь, и время надо для вникания.
из твоих коментов понятно что ты не в теме зачем и что в этом коде...
смыл тебе эту работу делать, если потом попросят сделать в разы сложнее?

...надо начинать учиться (с азов)

зы: тоже не понимаю, еще осваиваю язык
Yandex
Объявления
02.08.2014, 14:43     Получение и разбор JSON
Ответ Создать тему
Опции темы

Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru