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

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

Войти
Регистрация
Восстановить пароль
 
PiXcell
 Аватар для PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 39
#1

Как вывести весь лог с консоли (от NSLog) в UILabel окошко? - Программирование iOS/iPhone

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

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

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

Objective-C Как вывести в текстовое поле адрес сайта?
Как перевернуть объект UILabel на 180 градусов
UILabel в модальном режиме
Как вывести содержание массива в одной строке? Objective-C
Objective-C Как вывести десятичное число на экран калькулятора
UILabel смена текста каждые 3 секунды Objective-C
Пляски вокруг UILabel (как нормально настроить перенос текста?)
Кликабельные части текста в UILabel
Как вывести запись на стене ВК
Swift Как вывести средний бал ученика в журнале (словарь) через цикл for-in?
Swift Как вывести Label без Storyboard?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
20.08.2014, 12:47     Как вывести весь лог с консоли (от NSLog) в UILabel окошко? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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; //выводите
}
PiXcell
 Аватар для PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 39
20.08.2014, 17:11  [ТС]     Как вывести весь лог с консоли (от NSLog) в UILabel окошко? #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);
не строки, а номера телефонов, емейлы...
тесть когда привожу их к общей строке, то компилятор ругается на несоответствие типов...
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
20.08.2014, 18:49     Как вывести весь лог с консоли (от NSLog) в UILabel окошко? #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
PiXcell
 Аватар для PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 39
20.08.2014, 21:12  [ТС]     Как вывести весь лог с консоли (от NSLog) в UILabel окошко? #5
Спасибо! Все получилось
теперь еще один вопрос:
как сделать скролл-прокрутку в окошке лейбл, и чтоб текст всегда показывался последний (так же как в логе в консоли)?
Миниатюры
Как вывести весь лог с консоли (от NSLog) в UILabel окошко?  
Vorona
Peace 2 all shining faces
 Аватар для Vorona
662 / 524 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
21.08.2014, 02:49     Как вывести весь лог с консоли (от NSLog) в UILabel окошко? #6
Цитата Сообщение от PiXcell Посмотреть сообщение
как сделать скролл-прокрутку в окошке лейбл
используйте UITextView
лейбл по своей семантике больше подходит для размещения небольшого контента
Yandex
Объявления
21.08.2014, 02:49     Как вывести весь лог с консоли (от NSLog) в UILabel окошко?
Ответ Создать тему
Опции темы

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