Ответ, который я получил:
Я не уверен, почему я не могу выставить переменную такой, какая она есть. User
не является протоколом; это просто подкласс NSManagedObject
.
И я протестировал выставление простого bool
из класса, и оно работало просто отлично.
Но в конце концов обнажил весь объект User
не совсем разумно, потому что мне может потребоваться вытащить все его зависимости в зависимом модуле, даже если сам модуль не использует их все.
Итак, я:
- объявлен протокол (в зависимом модуле), используемый для предоставления того, что мне нужно от
User
public protocol ModuleUser {
var id: Int64
}
- , который используется в зависимом протоколе:
public protocol LoginAPIManagerProtocol {
...
var moduleUser: ModuleUser? { get }
...
}
extension APIManager: LoginAPIManagerProtocol, LoginProtocol {
var moduleUser: ModuleUser? {
return self.user
}
}
И теперь мне больше не нужно добавлять объект User
в зависимый модуль; что шумно: D