У меня есть расширение Swift следующим образом:
@objc
protocol Themeable: class {
@objc var themeGradient: Gradient { get set }
}
В Objc у меня есть некоторые контроллеры представления, использующие этот протокол, используя @synthesize
для свойства.
#import "MyProject-Swift.h"
@interface MyObjcViewController () <Themeable>
@end;
@implementation MyObjcViewController
@synthesize themeGradient;
...
@end;
Когдаздание Я получаю эту ошибку в строке @synthesize
:
Ошибка: реализация свойства должна иметь свое объявление в интерфейсе 'MyObjcViewController' или в одном из расширений
Можно ли синтезировать свойства, определенные в протоколах Swift?