Я создал класс в Swift (который я изучаю), который я использую для хранения определенных значений следующим образом:
@objc public class Book: NSObject {
var title: String = ""
var date: Date = Date()
var sku: Float = 0
}
Теперь я хотел бы сохранить этот класс в эквиваленте свойствак нему может обратиться мой класс Objective-C.
Я попытался создать переменную в View Controller, где класс используется следующим образом:
var lastBookViewed = Book()
Однако, когда я пытаюсь сохранитьобъект к свойству с помощью следующего кода, я получаю сообщение об ошибке:
//create instance of book
let myBook = Book()
//gather information about book
lastBookViewed = myBook //THROWS COMPILER ERROR 'Use of Unresolved Identifier lastBookViewed
Есть ли способ сделать это?
Если проще, сохранение объекта в свойство в Objective-C файл также будет работать, но до сих пор я не смог получить файл Objective-C для распознавания класса Book, созданного в Swift, хотя я поставил @objc перед ним, как рекомендовано.
Редактировать
Когда я пытаюсь создать свойство или переменную для хранения пользовательского объекта Swift в другом классе Swift (класс View Controller) в том же файле Swift со следующим синтаксисом:
var lastBookViewed: Book
соmpiler выдает предупреждение для класса VC "yourVC не имеет инициализаторов"