Я создал быстрый класс со строковыми опциями (String?) и создал экземпляр класса в другом быстром файле и получил ошибку компиляции. Когда я создаю экземпляр класса внутри одного и того же файла, ошибки не возникает. Что-то не так, что я делаю? Я дважды проверял поведение, и это поведение согласуется даже с определением класса, приведенным в быстрой документации:
class ShoppingListItem {
var name: String?
var quantity = 1
var purchased = false
}
var item = ShoppingListItem()
Отрывок из: Apple Inc. "Быстрый язык программирования". интерактивные книги. https://itun.es/in/jEUH0.l
Если var item = ShoppingListItem()
выполняется в appDelegate.swift
, из функции application:didFinishLaunchingWithOptions
получаем ошибку:
<class> cannot be initialised because it has no accessible initializers
OTOH, если мы сохраняем экземпляр сразу после объявления класса, нет проблем.
Изменить: эта проблема не является showstopper, текущее поведение инициатора по умолчанию кажется непоследовательным или мне нужно лучше понять его