Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 43
#1

Как вывести весь лог с консоли (от NSLog) в UILabel окошко?

20.08.2014, 11:52. Просмотров 1196. Ответов 5
Метки нет (Все метки)

Всем привет!
Подскажите, как вывести лог консоли в окошко label? Чтоб скролился и накапливался, а не обновлялся при новой записи.
например вот пример одного из учебных материалов, там надо сделать кнопки по которым в консоль выводится список контактов, сообщения о редактировании адресной книжки и о созданных или удаленных группах.
в задании просто кнопки с выводом в консоль, но хочется их в уилебле видеть (все), но не знаю как это сделать...
замена нслога на уилебел.текст = стинг - не накапливает сообщения а выводит новые с затиранием предыдущего.

вообщем задача заменить консоль вывода (нижнее окно икскода) на текст в окошечке (желательно без начальной инфы о имени проекта)
скрин:
0
Миниатюры
Как вывести весь лог с консоли (от NSLog) в UILabel окошко?  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2014, 11:52
Ответы с готовыми решениями:

Как перевернуть объект UILabel на 180 градусов
задумал я сделать зеркальное отображение в верхней половине экрана экземпляра...

Пляски вокруг UILabel (как нормально настроить перенос текста?)
Всем привет, существует задача - один вью контроллер с одной UILabel на нем....

Лог в окно консоли
Всем привет! Имеется программа, работающая Windows Forms. В ней есть, к...

Маленькое окошко "установка личных параметров для windows mail 7" и весь мир подождет
Добрый день, всем! Очень нужна помощь извне. Потому что уже пошел 3 день и 4...

Лог коммутатора как перевести лог
Добрый день! Помогите пожалуйста перевести лог. Oct 12 14:33:49.378 MSK:...

5
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
20.08.2014, 12:47 #2
Лучший ответ Сообщение было отмечено PiXcell как решение

Решение

Objective-C
1
2
3
4
5
6
7
NSString *log = @"";  //общий лог
 
- (void)showLog {
NSString *currentLog; //берете откуда вам надо то, что хотите добавить в лог
log = [log stringByAppendingString:[NSString stringWithFormat:@"%@ \n", currentLog]];  //формируется новый лог с дополнениями
self.logLabel.text = log; //выводите
}
1
PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 43
20.08.2014, 17:11  [ТС] #3
а можно подробнее, как вызывать showLog? может в виде функции с возвратом значения? (нсстирнг)

подскажите еще раз, подробнее, например на этом кусочке:
--
Objective-C
1
2
3
4
5
6
7
8
- (IBAction)showContacts {
    if (!self.accessGranted)
    {
        NSLog(@"Доступ к адресной книге закрыт");
        return;
    }
...
}
Добавлено через 40 минут
сделал так:
Objective-C
1
2
3
4
5
6
7
NSString *currentLog = @"";  //общий лог
 
-(NSString *)showlog: (NSString *) msgInLog
{
    currentLog = [currentLog stringByAppendingString:[NSString stringWithFormat:@"%@ \n", msgInLog]];  //формируется новый лог с дополнениями
    return self.logForNSLog.text = currentLog; //вывод
}
теперь здесь можно написать так:
Objective-C
1
2
3
4
5
6
7
8
9
- (IBAction)showContacts {
    if (!self.accessGranted)
    {
        [self showlog:@"Доступ к адресной книге закрыт"];
        //        NSLog(@"Доступ к адресной книге закрыт");
        return;
    }
...
}
но вот как передать двойную строку типа:
Objective-C
1
2
NSLog(@"First name = %@", firstName);
NSLog(@"Last name = %@", lastName);
вопрос

вариант в две строки не красив, да и в фунции есть переход на новую строку, вообщем:
Objective-C
1
2
[self showlog: @"First name = "];
[self showlog: firstName];
это не то

подскажите еще варианты?
может вместо строк в фунции шовлог сделать мутаблмассив, и его выводить?
но все равно, как быть с двойными строками типа: NSLog(@"First name = %@", firstName);

вообщем понятно что вопросы детские, но я только учусь, и спрашиваю совета.

Добавлено через 43 минуты
некоторые поля в строках типа
Objective-C
1
NSLog(@"First name = %@", firstName);
не строки, а номера телефонов, емейлы...
тесть когда привожу их к общей строке, то компилятор ругается на несоответствие типов...
0
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
20.08.2014, 18:49 #4
Почитайте про
Objective-C
1
[NSString stringWithFormat:]
Именно для двойной строки
Objective-C
1
NSString *logString = [NSString stringWithFormat:@"First name = %@, Last name = %@", firstNameField.text, lastNameField.text];//firstNameField.text, lastNameField.text - текст из ваших полей, или строки вставляйте, как хотите
для типов выводимых данных:
%@ - строки
%i - integer'ы
%f - float'ы
Об остальном почитайте, в особенности документацию по классу NSString
1
PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 43
20.08.2014, 21:12  [ТС] #5
Спасибо! Все получилось
теперь еще один вопрос:
как сделать скролл-прокрутку в окошке лейбл, и чтоб текст всегда показывался последний (так же как в логе в консоли)?
0
Миниатюры
Как вывести весь лог с консоли (от NSLog) в UILabel окошко?  
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
21.08.2014, 02:49 #6
Цитата Сообщение от PiXcell Посмотреть сообщение
как сделать скролл-прокрутку в окошке лейбл
используйте UITextView
лейбл по своей семантике больше подходит для размещения небольшого контента
1
21.08.2014, 02:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2014, 02:49

Как вывести весь массив?
В общем такая фигня, есть несколько вопросов по теории массивов, а то препод...

Как вывести весь список конкатенации?
На русском слов 8 может Но мне нужно на английском как полный список с цифрой...

Как вывести изображение мозаикой во весь Timage
Допустим я вывел изображение в TImage и это изображение меньше его размеров....


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

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

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