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

Получить NSString из JSON и использовать его как заголовок в TableView - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Вью контроллер для написаний сообщений http://www.cyberforum.ru/ios-dev/thread1206269.html
Всем привет. Есть такой вопрос где взять вот такой контроллер (на подобие) для написания соощений
Программирование iOS Арабский язык в приложении Всем привет! Появился у меня новый проект, одной из финальной стадий которого должна стать адаптация для юзеров из арабского региона (и арабский язык, в принципе, будет чуть ли не основным для заказчика). С локализацией проблем нет - попробовал ctrl+c и ctrl+v арабский рандомный текст в Localizable.strings - вроде все ОК (хотя, с чего бы ему не вставляться). Вопрос в другом: гугление... http://www.cyberforum.ru/ios-dev/thread1206152.html
Приложение с множеством контроллеров Программирование iOS
Здравствуйте! Вообщем, как сделать так, чтобы в TableViewController по нажатию на определенную ячейку открывался определенный ViewController со своими картинками и текстом? Помогите пожалуйста! Я только месяц изучаю objectiv-c and xcode. Пример мой на картинке.
Рейтинг приложения в магазине Программирование iOS
Добрый день! Есть приложение в Itunes. Иногда пользователи оценивают его, но само приложение звездочек не получает. Тоесть отзы есть, а общая оценка приложения отсутствует. Как я понял, приложение получит рейтинг только после определенного количества голосов? Поделитесь информацией, связанной с формированием рейтига в Itunes. Спасибо
Программирование iOS Как обратится к view из созданного файла? http://www.cyberforum.ru/ios-dev/thread1202899.html
Всем доброго времени суток. Возникла потребность из созданного мной файла (subclass of UIView), вывести картинка на view. При попытке отобразить картинку ; получаю сообщение следующего содержания: view не пренадлежит данному классу, тобиш как я понял view пренадлежит только классу ViewController.h из чного вытекает вопрос, как сделать view доступным для любого другого файла? Заранее...
Программирование iOS Соединить проекты Могу ли я соединить проекты, В первомприложение парсинг и.т.д, а во втором coredata с таблицами ViewController и.т.д? подробнее

Показать сообщение отдельно
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
18.06.2014, 10:21     Получить NSString из JSON и использовать его как заголовок в TableView
функции декодирования JSON
СИ синтаксис

json_funk.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
#import <Foundation/Foundation.h>
 
#ifndef _json_funk
#define _json_funk
 
// JSON кодирование
 
NSMutableArray* json_decode_array(id obj);
NSMutableDictionary* json_decode_dict(id obj);
NSString* json_encode_str(id obj);
NSData* json_encode_data(id obj);
 
#endif
json_funk.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
// JSON кодирование
 
#import "json_funk.h"
 
id sys_json_decode(id obj) {
 
    if ([obj isKindOfClass:[NSString class]]) {
        obj = [obj dataUsingEncoding:NSUTF8StringEncoding];
    }
    if ([obj isKindOfClass:[NSData class]]) {
        NSData * data = obj;
        
        const unsigned char* bytes = (const unsigned char*) [data bytes];
        
        // [url]http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2[/url]
        
        if (data.length>3 && bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) {
            // обнаружен BOM
            data = [data subdataWithRange: NSMakeRange(3, data.length-3)];
        }
        
        if (data.length>3 && ( bytes[0] == '{' || bytes[0] == '[' ) ) {
            
            NSError * error = nil;
            
            id result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
            if (error) {
                NSLog(@"JSONDecode ERROR: %@ %@", error, [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
            }
            return result;
        }
    }
    
    return nil;
}
 
NSMutableArray* json_decode_array(id obj) {
    id result = sys_json_decode(obj);
    if ([result isKindOfClass:[NSMutableArray class]]) {
        return result;
    }
    return nil;
}
 
NSMutableDictionary* json_decode_dict(id obj) {
    id result = sys_json_decode(obj);
    if ([result isKindOfClass:[NSMutableDictionary class]]) {
        return result;
    }
    return nil;
}
 
NSData* json_encode_data(id obj) {
    if ([obj isKindOfClass:[NSArray class]] || [obj isKindOfClass:[NSDictionary class]]) {
        
        NSError * error = nil;
 
        id result = [NSJSONSerialization dataWithJSONObject:obj options:0 error:&error];
        if (error) {
            NSLog(@"JSONEncode ERROR: %@", error);
        }
        return result;
    }
    NSLog(@"JSONEncode ERROR: INVALID JSON TYPE");
    return nil;
}
 
NSString* json_encode_str(id obj) {
    NSData * data = json_encode_data(obj);
    if (data) {
        return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    }
    return nil;
}
Мануалы по литералам IOS6+ SDK

http://www.imaladec.com/story/literals

Добавлено через 5 минут
также можете почитать вот эту тему для дебага русских JSON словарей

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