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

Objective-C

Войти
Регистрация
Восстановить пароль
 
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
#1

Вывод русских словарей и массивов в читаемом виде - Objective-C

11.04.2014, 16:58. Просмотров 894. Ответов 2
Метки нет (Все метки)

Вывод русских словарей и массивов в читаемом виде

ext_log.h

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//*
 расширенный вывод
 */
 
#import <Foundation/Foundation.h>
 
#ifndef __ext_log_H
#define __ext_log_H
 
// [url]http://stackoverflow.com/questions/2099349/using-objective-c-cocoa-to-unescape-unicode-characters-ie-u1234[/url]
void strDecodeUxxx(NSMutableString * str);
 
// вывод данных в консоль
void EXT_LOG(id obj);
 
#endif
ext_log.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
/*
 расширенный вывод
 */
 
#import "ext_log.h"
 
void strDecodeUxxx(NSMutableString * str) {
    
    CFStringRef transform = CFSTR("Any-Hex/Java");
    [str setString: [str stringByReplacingOccurrencesOfString:@"\\U" withString:@"\\u"]];
    CFStringTransform((__bridge CFMutableStringRef)str, NULL, transform, YES);
    CFRelease(transform);
}
 
// вывод данных в консоль
void EXT_LOG(id obj) {
    
    if (!obj) {
        NSLog(@"OBJ IS NULL\n");
        return;
    }
    
    if ([obj isKindOfClass:[NSString class]]) {
        NSString *z = (NSString *) obj;
        NSLog(@"STR : %@ \n", z);
        return;
    }
    if ([obj isKindOfClass:[NSArray class]]) {
        int i = 0;
        NSArray *z = (NSArray *) obj;
        NSMutableString * s = [NSMutableString new];
        [s appendFormat:@"ARRAY : %d\n\n", z.count];
        for (id objd in z) {
            [s appendFormat: @"[%d] ->> %@\n", i, objd];
            i++;
        }
        strDecodeUxxx(s);
        NSLog(@"%@",s);
        return;
    }
    if ([obj isKindOfClass:[NSDictionary class]]) {
        NSDictionary*z = (NSDictionary*) obj;
        NSMutableString * s = [NSMutableString new];
        [s appendFormat:@"DICT : %d\n\n", z.count];
        for (id key in [z allKeys]) {
            [s appendFormat: @"[%@] ->> %@\n", key,[z objectForKey:key]];
        }
        strDecodeUxxx(s);
        NSLog(@"%@",s);
        return;
    }
    
    NSLog(@"OBJ : %@ \n", obj);
}
пример кода с использованием сабжа

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
- (IBAction)btn_action:(id)sender {
    
    NSDictionary * d = @{@"hello": @{@"привет": @"привет"}};
    
    EXT_LOG(d);
    NSLog(@"обычный вывод%@",d);
    
    NSArray * k = @[@"привет", @"привет", @"привет"];
    
    EXT_LOG(k);
    NSLog(@"обычный вывод%@",k);
}
вывод консоли

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2014-04-11 16:50:34.331 test_ext_log[1650:90b] DICT : 1
 
[hello] ->> {
    "привет" = "привет";
}
2014-04-11 16:50:34.332 test_ext_log[1650:90b] обычный вывод{
    hello =     {
        "\U043f\U0440\U0438\U0432\U0435\U0442" = "\U043f\U0440\U0438\U0432\U0435\U0442";
    };
}
2014-04-11 16:50:34.333 test_ext_log[1650:90b] ARRAY : 3
 
[0] ->> привет
[1] ->> привет
[2] ->> привет
2014-04-11 16:50:34.333 test_ext_log[1650:90b] обычный вывод(
    "\U043f\U0440\U0438\U0432\U0435\U0442",
    "\U043f\U0440\U0438\U0432\U0435\U0442",
    "\U043f\U0440\U0438\U0432\U0435\U0442"
)
0
Вложения
Тип файла: zip test_ext_log.zip (33.2 Кб, 8 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод русских словарей и массивов в читаемом виде (Objective-C):

Быстрое обращение к данным многомерных словарей - Objective-C
предлагаю на рассмотрение следующий метод работы с данными многомерных словарей рассматриваются словари, чья многомерная структура...

Вывод dbf файла в читаемом виде. - Visual Basic
читаю из файла базы данных (dbf в кодировке win1251) &quot;АБВГДЕЁЖЗ&quot; а на экран или в файл выводится &quot;L+T+-+覦&quot; как вывести в...

Даты в VB в читаемом виде. - Visual Basic
Кто знает, помогите решить проблему: Прочитал поле даты из БД Access, оно вернулось как double, как его представить теперь в...

Отображение времени в читаемом виде - C++
Есть такая функция DWORD GetTickCount(void); Она выводит кол-во мс от начала старта системы, с помощью неё я вывожу время от старта...

Записать формулы в виде, читаемом в Excel - MS Excel
Вот формула

Отформатировать текст кода в читаемом виде - C++
Здравствуйте, помогите пожалуйста отформатировать текст кода в читаемом виде: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
12.04.2014, 03:05 #2
сначала хотел спросить, чего не использовать localizations?
но зачем такое кому-то может понадобиться?

Не по теме:

это ж что-то вроде китайского пива...

0
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
12.04.2014, 08:18  [ТС] #3
чего не использовать localizations
localizations в NSLog ?
но зачем такое кому-то может понадобиться?
дебаг JSON словарей при разработке приложения, а точнее отображение в них интернационального содержимого, так как в обычном виде NSLog выводит \Uxxx последовательности вместо символов
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2014, 08:18
Привет! Вот еще темы с ответами:

Как вывести строки в юникоде из кортежа в читаемом виде? - Python
Извлекаю данные из файла, пробую вывести их на экран, выводится все нормально. После сортирую эти данные и добавляю в список, принтую...

Рабочий пример json без каракулей и даты в читаемом виде - Delphi
Уважаемые знатоки, нужен рабочий пример: как вывести в memo1 ответ json без &quot;каракулей&quot; и даты - в читаемом виде... Вот мой код...

Подсчет заглавных русских букв в файле и вывод их в виде сообщения. Несоответствие типов - Delphi
Программа подсчитывает заглавные русские буквы в файле и выводит их в виде сообщения. В конце говорит про несоответствие типов, но как?...

Словарь словарей плюс Коллекция массивов - VBA
Здрасьте! Что-то я или запутался совсем, или лечить пора. Создал Dict (ключи - значения ячейки текущего ряда r столбца 11)....


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

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

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