Форум программистов, компьютерный форум, киберфорум
Objective-C
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 16

Скобочки)

14.04.2013, 18:30. Показов 1222. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Беру данные из интернета паршу их в итоге получается массив, потом я преобразовываю его в NSString:
Objective-C
1
NSString* data_1 = [data description];
Получается строка: (
(
9
)
)
Подскажите пожалуйста как убрать эти скобки? Буду очень благодарен!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2013, 18:30
Ответы с готовыми решениями:

Требуются скобочки
if Key.Text = ("3724-1923-2132-7542-9073") { this.Hide(); Main fr2 = new Main(); fr2.Show(); На первой же строке 2 ошибки:...

Зачем нужны скобочки?
Объясните пожалуйста зачем надо ставить в коде так много скобок? if(((a+b)*(a-b)))

Задачка про скобочки
всем привет. каочи давно давно решал чета задачку про имеем строку с цыфрами и символами плюс минус умножить. нужно так расставить...

8
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
14.04.2013, 19:23
Objective-C
1
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
1
Peace 2 all shining faces
 Аватар для Vorona
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
14.04.2013, 19:24
смотрите, обычно массив в методе description будет представлен так:
Code
1
(val1, val2, val3, val4)
если использовать такую конструкцию
Objective-C
1
[[array valueForKey:@"description"] componentsJoinedByString:@" "]
то он будет представлен так:
Code
1
val1 val2 val3 val4
в вашем случае элементом массива является тоже массив, потому что конечный элемент окружен двумя парами скобок, потому даже если и используете вышеуказанную конструкцию, то получите что-то вроде:
Code
1
val1 (val11, val12, val13) val2 val3 val4
я бы написал рекурсивный метод, который принимает массив и возвращает строку, далее в foreach проходит по каждому элементу массива и выписывает его в строку, которую вернет, если элементом массива является массив, тогда он вызывает сам себя и передает ему этот элемент-массив, а полученное значение добавляет в строку и идет дальше

так вы получите строку из массива, в нужном вам формате и при том, что элементами массива могут быть массивы с любым уровнем вложенноти этих злобных массивов
1
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 16
14.04.2013, 19:51  [ТС]
Цитата Сообщение от zulkis Посмотреть сообщение
Objective-C
1
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Получается пустой объект.....
0
Peace 2 all shining faces
 Аватар для Vorona
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
14.04.2013, 20:00
Цитата Сообщение от Novichok2 Посмотреть сообщение
Получается пустой объект.....
просто тут ожидают увидеть объект типа NSData, а у вас, как я понял - NSArray
код должен быть читабельным, а вы своим кодом сбиваете с толку других программистов и получаете не тот ответ

как видите, сами же и пострадали из-за своей оплошности
0
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 16
14.04.2013, 20:25  [ТС]
Цитата Сообщение от Vorona Посмотреть сообщение
смотрите, обычно массив в методе description будет представлен так:
Code
1
(val1, val2, val3, val4)
если использовать такую конструкцию
Objective-C
1
[[array valueForKey:@"description"] componentsJoinedByString:@" "]
то он будет представлен так:
Code
1
val1 val2 val3 val4
в вашем случае элементом массива является тоже массив, потому что конечный элемент окружен двумя парами скобок, потому даже если и используете вышеуказанную конструкцию, то получите что-то вроде:
Code
1
val1 (val11, val12, val13) val2 val3 val4
я бы написал рекурсивный метод, который принимает массив и возвращает строку, далее в foreach проходит по каждому элементу массива и выписывает его в строку, которую вернет, если элементом массива является массив, тогда он вызывает сам себя и передает ему этот элемент-массив, а полученное значение добавляет в строку и идет дальше

так вы получите строку из массива, в нужном вам формате и при том, что элементами массива могут быть массивы с любым уровнем вложенноти этих злобных массивов
Могли бы вы дать ссылку на какой-нибудь пример рекурсивного метода? Я что-то сам не могу найти, а с этим первый раз сталкиваюсь.
0
Peace 2 all shining faces
 Аватар для Vorona
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
14.04.2013, 21:11
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- (NSString *)stringFromArray:(NSArray *)array
{
    NSMutableString *arrayString = [NSMutableString string];
    NSString *separator = @", ";
    
    for (id item in array)
    {
        if ([item isKindOfClass:NSArray.class])
        {
            // рекурсивно вызываем метод
            [arrayString appendFormat:@"{%@}%@", [self stringFromArray:(NSArray *)item], separator];
        }
        else
        {
            [arrayString appendFormat:@"%@%@", item, separator];
        }
    }
    
    //ну и подчистим разделители в хвосте
    return arrayString.length > 0 ? [arrayString substringWithRange:NSMakeRange(0, arrayString.length - separator.length)] : arrayString;
}
таким образом из массива:
Objective-C
1
NSArray *array = [NSArray arrayWithObjects:@8, @3, @1, [NSArray arrayWithObjects:@4, [NSArray arrayWithObjects:@7, @"Hello", @"World", nil], @0, nil], @9, @6, @5, [NSArray arrayWithObjects:@2, nil], nil];
получится что-то вроде
Code
1
8, 3, 1, {4, {7, Hello, World}, 0}, 9, 6, 5, {2}
p.s код на коленке набросал, если что подправите, но должен работать
1
0 / 0 / 0
Регистрация: 13.04.2013
Сообщений: 16
14.04.2013, 21:40  [ТС]
Цитата Сообщение от Vorona Посмотреть сообщение
просто тут ожидают увидеть объект типа NSData, а у вас, как я понял - NSArray
код должен быть читабельным, а вы своим кодом сбиваете с толку других программистов и получаете не тот ответ

как видите, сами же и пострадали из-за своей оплошности
Не не я сконвертировал в NSData
Objective-C
1
NSData* data_1 = [NSKeyedArchiver archivedDataWithRootObject:data];
Всё удачно преобразовалось в NSData
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
15.04.2013, 06:28
"data - это array". Тьфу блин жесть.
И чтото я вывод видать невнимательно смотрел. Конечно же там не NSData, а NSArray, как уже выше сказал Vorona.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2013, 06:28
Помогаю со студенческими работами здесь

Найти скобочки () в строке текста
Дан текстовый файл f, содержащий программу на языке Паскаль. Проверить эту программу на соответствие числа открывающих и закрывающих скобок...

Про скобочки в request, jquery ajax
Здравствуйте, пишу ajax запрос для выбора и удаления элементов таблицы: $('#delete').bind('click', function() { ...

Найти максимум из 2-х значений, используя только скобочки и стрелочки
Выглядит издевательски, но максимум действительно находит и стрелочек таких и сяких действительно много. use strict; use warnings; ...

Ругается на else из 11 строчки. Где скобочки не хватает или наоборот лишняя??
Ругается на else из 11 строчки. Где скобочки не хватает или наоборот лишняя?? private: System::Void button1_Click(System::Object^ ...

Задача : "Скобочки".
Некоторые скобочные структуры правильные, другие — неправильные. Ваша задача — определить правильная ли скобочная структура. Вход:...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru