Код, который вы ищете, это:
if ([myLabel.text isEqualToString:@"A Day"]) {
Но это ужасный способ написания вашей программы. Где-то вы решили поместить строку @"A Day"
в ярлык. Это , где вы также должны решить, какое изображение отображать.
Редактировать
В ответ на ваш комментарий: одним из простых подходов было бы иметь словарь, который отображает каждую строку даты на соответствующее изображение. Пример:
[labelMap setObject:@"A Day" forKey:dateString];
[imageMap setObject:[UIImage imageNamed:@"Aday.jpg"] forKey:dateString];
...
letterDayLabel.text = [labelMap objectForKey:letterDay];
letterDayImage.image = [imageMap objectForKey:letterDay];
Несколько более сложный подход, который я, вероятно, использовал бы в своей собственной реализации, заключается в создании класса RotationDay
, который представляет конкретный день в ротации и содержит «активы» для каждого дня: день дня ярлык и изображение. В будущем, если вы добавите больше ресурсов (несколько изображений за один день или короткую метку и длинную метку, или анимацию, или звуки), вы добавите их в класс. Пример:
@interface RotationDay : NSObject
@property (strong, nonatomic, readonly) NSString *labelText;
@property (strong, nonatomic, readonly) UIImage *image;
+ (RotationDay *)dayForLetter:(NSString *)letter;
@end
@implementation RotationDay
@synthesize labelText = _labelText;
@synthesize image = _image;
static NSMutableDictionary *daysMap() {
static NSMutableDictionary *theMap;
static dispatch_once_t once;
dispatch_once(&once, ^{ theMap = [[NSMutableDictionary alloc] init]; });
return theMap;
}
+ (RotationDay *)uncachedDayForLetter:(NSString *)letter {
RotationDay *day = [[RotationDay alloc] init];
day->_labelText = [[NSString alloc] initWithFormat:@"%@ Day", letter];
NSString *imageName = [NSString stringWithFormat:@"%@day.jpg", letter];
day->_image = [UIImage imageNamed:imageName];
return day;
}
+ (RotationDay *)dayForLetter:(NSString *)letter {
NSMutableDictionary *map = daysMap();
RotationDay *day = [map objectForKey:letter];
if (!day) {
day = [self uncachedDayForLetter:letter];
[map setObject:day forKey:letter];
}
return day;
}
@end
Тогда вы бы использовали это так:
[dictionary setObject:[RotationDay dayForLetter:@"A"] forKey:@"2012-05-15"];
...
RotationDay *day = [dictionary objectForKey:LetterDay];
letterday.text = day.labelText;
imageday.image = day.image;