Ошибки при создании классов объектов Realm - PullRequest
0 голосов
/ 23 июня 2018

Я пытаюсь написать простое приложение на Swift, поддерживаемое Realm.Когда я пишу var s внутри классов, я продолжаю получать ошибки, такие как "Property cannot be implicitly @objc because its type cannot be represented in Objective-C".Иногда эти ошибки (которые связаны с Objective-C, которые я не использую) появляются, а иногда нет - см. Скриншоты ниже.

Я - новичок в Swift, но подумалЯ понял достаточно, чтобы начать.В частности:

1) Должен ли я добавить "@objc" перед объявлением класса?

2) Должен ли я добавить "@objc" перед объявлением динамической переменной?

3) Кажется, Float var должен быть инициализирован, но не для String?

4) Почему компилятор жалуется на объявление в одной строке, а не на идентичный синтаксис вследующая строка?

Конечно, были бы признательны за некоторые указания или указатели на конкретные инструкции по созданию классов объектов Realm!

enter image description here

enter image description here

1 Ответ

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

Я считаю, что ошибка вызвана вызовом @objc вместо @objcMembers. Попробуйте изменить

@objc class Transaction: Object

до

@objcMembers class Transaction: Object

И удалите все @objc перед вашими динамическими переменными. Итак, ваш окончательный код должен выглядеть так:

import Foundation
import RealmSwift

@objcMembers class Transaction: Object {
    dynamic var picPath: String?
    dynamic var transAmount: Float = 0.0
}

@objcMembers class Transaction: Object {
    dynamic var currentBalance: Float = 0.0
    dynamic var highWaterBalance: Float = 0.0
    dynamic var acctName: String?
}

Наш сотрудник Пол Хадсон описал этот атрибут на своем сайте hackingwithswift .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...