Передать значение из класса Objective C в Swift TableViewCell - PullRequest
0 голосов
/ 25 июня 2018

У меня есть проект, написанный в основном на Objective-C.Моя цель состоит в том, чтобы шаг за шагом перенести всю кодовую базу в Swift.

Базовая ячейка

@interface WACategoryTableViewCell : UITableViewCell

@property (nonatomic, strong) WACategory * category;

@end

Здесь я присваиваю некоторое значение экземпляру WACategory класс в WACategoryTableViewCell

- (void)configureCell:(WACategoryTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
    WACategory *category = [self categoryAtIndexPath:indexPath];
    [cell setCategory:category];
}

WACategoryTableViewCell является базовой ячейкой.У меня есть еще одна ячейка, которую я программно реализовал в Swift.технически внутри этой ячейки я могу использовать экземпляр класса WACategory, который я создал в базовой ячейке.

@objcMembers class WACategoryPhotoCell: WACategoryTableViewCell {

    var passedCategory: WACategory? {
        didSet {

        }
    }

    func setupCategory() {
        let url = URL(string: self.category.iconUrl)
        self.iconImageView.kf.setImage(with: url)
    }

}

Однако, когда я пытаюсь получить значение категории, оно имеет ноль.

Не могли бы вы сказать мне, что я делаю неправильно.Возможно, существует правильный способ передачи значения из одного класса Objective-C в класс Swift.

1 Ответ

0 голосов
/ 25 июня 2018

Не существует конкретного способа передачи значений из Objective-C в Swift.

Но я хочу предложить вам настроить ячейку, передав категорию в методе setupCategory.

Обновленный код:

func setupCategory(with category: WACategory) {
    let url = URL(string: category.iconUrl)
    self.iconImageView.kf.setImage(with: url)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...