У меня есть родительский класс с именем BasicUser и подкласс с именем User, который наследуется от BasicUser. Когда я пытаюсь добавить обычного пользователя (класс BasicUser), используя пользователя (класс User), он пропускает весь объект User, а не только BasicUser.
Есть ли способ избежать отправки подкласса, который соответствует классу в методе?
class BasicUser {}
class User: BasicUser {}
func addAttendingUser(_ newUser: BasicUser) {
}
let user = User()
addAttendingUser(user)
EDIT:
Некоторая логика за ObjectMapper.
Прежде всего, он отображает Festival и, поскольку Festival имеет массив BasicUser (ParticipatingUsers), он вызывает сопоставление для BasicUser, который является User.
У пользователя есть массив followFestivals, и к нему можно получить доступ из нескольких потоков.
В классе пользователя:
override func mapping(map: Map) {
super.mapping(map: map)
followedFestivals <- map["followed_festivals"]
}
На фестивальном классе:
override func mapping(map: Map) {
super.mapping(map: map)
attendingUsers <- map["attending_users_list"]
}