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

UILabel смена текста каждые 3 секунды - Objective-C

Восстановить пароль Регистрация
 
dev.nikor
 Аватар для dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
18.07.2014, 11:57     UILabel смена текста каждые 3 секунды #1
Здравствуйте.
У меня есть таблица, ячейки которой содержат по одному UILabel.
Я пытаюсь научить UILabel менять текст по требованию. Для этого написал вот такой класс:
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
@interface HSIntervalLabel ()
 
@property (nonatomic) BOOL isFirstTextShowed;
@property (nonatomic) NSString *firstText;
@property (nonatomic) NSString *secondText;
 
@end
 
@implementation HSIntervalLabel
 
- (void)prepare
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeText:) name:NOTIFICATION_INTERVAL_LABEL_SHOULD_CHANGE_TEXT object:nil];
}
 
- (instancetype)init
{
    self = [super init];
    if (self) {
        [self prepare];
    }
    return self;
}
 
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        [self prepare];
    }
    return self;
}
 
- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self prepare];
    }
    return self;
}
 
- (void)setText:(NSString *)firstText beforeText:(NSString *)secondText
{
    self.firstText = firstText;
    self.secondText = secondText;
    self.text = firstText;
    self.isFirstTextShowed = YES;
}
 
- (void)changeText:(NSNotification *)notification
{
    if (self.isFirstTextShowed) {
        self.text = self.secondText;
        self.isFirstTextShowed = NO;
    }
    else {
        self.text = self.firstText;
        self.isFirstTextShowed = YES;
    }
}
 
- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
 
@end
Но текст почему-то не меняется, хотя, если смотреть в дебаггере, то все меняется.
Сами сообщения в NSNotificationCenter посылаются с помощью NSTimer:
Objective-C
1
2
3
dispatch_once(&kOnlyOnce, ^{
        [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(preparePostingNotificationsForIntervalLabel:) userInfo:nil repeats:YES];
    });
Буду очень благоларен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2014, 11:57     UILabel смена текста каждые 3 секунды
Посмотрите здесь:

Поиск текста Objective-C
видеокарта мигает каждые 2-3 секунды
Objective-C Смена кодировки NSString
Пляски вокруг UILabel (как нормально настроить перенос текста?)
Кликабельные части текста в UILabel
Смена цвета status bar Objective-C
JavaScript Уменьшение числа каждые 2 секунды
Visual Basic .NET Автообновление WebBrowser каждые 3 секунды

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Prorok2323
33 / 125 / 43
Регистрация: 04.12.2013
Сообщений: 547
26.08.2014, 13:04     UILabel смена текста каждые 3 секунды #2
dev.nikor, актуально?
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
30.08.2014, 23:04     UILabel смена текста каждые 3 секунды #3
не в основном потоке посылаете?
Yandex
Объявления
30.08.2014, 23:04     UILabel смена текста каждые 3 секунды
Ответ Создать тему
Опции темы

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