Почему initWithCoder неправильно инициализирует элементы?

У меня есть подклассUITableViewCell, Мой подкласс содержит несколькоUILabels. Я хочу, чтобы мой подкласс инициализировал эти метки некоторыми настройками по умолчанию, которые применяются ко всем моим ячейкам табличного представления.

Я прочитал, что я должен использоватьinitWithCoder за это. мойinitWithCoder функция вызывается, и я могу пройти по каждой строке в моей функции, и она, кажется, проходит через движения. Когда я запускаю свое приложение, я не вижу ни одного из применяемых свойств. Наиболее заметно, шрифт не меняется. Я просто не думаю о каких-либо свойствах, которые я изменяю в моемUILabels на самом деле сохраняются или отображаются.

Я использую этот подкласс в сочетании сStoryboard, Я знаю, что мои изменения не будут отражены наStoryboard, но они также не отражаются при запуске приложения, несмотря на выполнение моего кода.

Изменить: я хотел бы упомянуть, что до попытки переопределитьinitWithCoderУ меня был метод экземпляра в этих подклассах, в котором я запускал эту логику. Я бы просто вызвал этот метод экземпляра внутриcellForRowAtIndexPath, Этот метод работал, но я подумал, что было бы удобно, чтобы эта логика в этом подклассе происходила автоматически.

Есть идеи? Мой код ниже:

#import "ThreadListCell.h"

@implementation ThreadListCell

- (id)initWithCoder:(NSCoder *)aDecoder {

    if ((self = [super initWithCoder:aDecoder])) {

        // adjust the font settings of the title
        self.title.font = [UIFont fontWithName:@"SourceSansPro-Black" size:16];
        self.title.textColor = [UIColor colorWithWhite:0.267f alpha:1.0f];

        // adjust the font settings of the subtitle
        self.text.font = [UIFont fontWithName:@"SourceSansPro-Light" size:14];
        self.text.textColor = [UIColor colorWithWhite:0.267f alpha:0.9f];
        self.text.textColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:1];

        // adjust the font settings of the location
        self.location.font = [UIFont fontWithName:@"SourceSansPro-Light" size:8];
        self.location.textColor = [UIColor colorWithWhite:0.267f alpha:0.9f];

        // adjust the UILabel settings of the title
        self.title.numberOfLines = 0;
        self.title.lineBreakMode = UILineBreakModeTailTruncation;

        // adjust the UILabel settings of the subtitle
        self.text.numberOfLines = 0;
        self.text.lineBreakMode = UILineBreakModeTailTruncation;

        // adjust the UILabel settings of the location
        self.location.numberOfLines = 0;
        self.location.lineBreakMode = UILineBreakModeTailTruncation;
        self.location.textAlignment = UITextAlignmentRight;

    }

    return self;

}

@end

И заголовок:

#import <UIKit/UIKit.h>

@interface ThreadListCell : UITableViewCell

@property (nonatomic, weak) IBOutlet UILabel *text;
@property (nonatomic, weak) IBOutlet UILabel *title;
@property (nonatomic, weak) IBOutlet UILabel *location;

@end

Ответы на вопрос(1)

Ваш ответ на вопрос