Я объявляю класс Skin в качестве переменной на моем AppDelegate. Я назначаю его только там, но позже в приложении, как если бы указатель использовался другим кодом.
У меня есть различные объявления, но по какой-то причине элемент toolBarTint, по-видимому, переназначается (случайным образом) другому типу при использовании отладчика на этапе использования позже в моем приложении, в текущем случае UISectionRowData (но изменяется каждый раз). Я не назначаю нигде в моем приложении.
@interface Skin : NSObject {
UIColor *navigationTint;
UIColor *searchBarTint;
UIColor *toolBarTint;
UITableViewStyle tableViewStyle;
CGFloat tableViewCellHeight;
UIColor *tableViewBackgroundColour;
MKPinAnnotationColor *pinColour;
NSString * locationViewFontName;
CGFloat locationViewFontSize;
}
@property (nonatomic,assign) UIColor *navigationTint;
@property (nonatomic,assign) UIColor *searchBarTint;
@property (nonatomic,assign) UIColor *toolBarTint;
@property (nonatomic,assign) UITableViewStyle tableViewStyle;
@property (nonatomic,assign) CGFloat tableViewCellHeight;
@property (nonatomic,assign) UIColor *tableViewBackgroundColour;
@property (nonatomic,assign) MKPinAnnotationColor *pinColour;
@property (nonatomic,retain) NSString * locationViewFontName;
@property (nonatomic,assign) CGFloat locationViewFontSize;
@end
- Определить скин приложения для делегата
skin = [[Skin alloc] init];
skin.navigationTint = [UIColor colorWithRed:((float) 154 / 255.0f) green:((float) 98 / 255.0f) blue:((float) 176 / 255.0f) alpha:1.0f];
skin.searchBarTint = [UIColor colorWithRed:((float) 154 / 255.0f) green:((float) 98 / 255.0f) blue:((float) 176 / 255.0f) alpha:1.0f];
skin.toolBarTint = [UIColor colorWithRed:((float) 154 / 255.0f) green:((float) 98 / 255.0f) blue:((float) 176 / 255.0f) alpha:1.0f];
skin.tableViewStyle = UITableViewStyleGrouped;
skin.tableViewCellHeight = 60.0;
skin.tableViewBackgroundColour = [UIColor colorWithRed:((float) 154 / 255.0f) green:((float) 98 / 255.0f) blue:((float) 176 / 255.0f) alpha:1.0f];
skin.pinColour = MKPinAnnotationColorRed;
skin.locationViewFontName = @"Helvetica";
skin.locationViewFontSize = 15.0f;