2015-01-27 3 views
0
  1. Что означает final Внутри определения структуры?
  2. Должен ли он быть добавлен к структуре в нижнем случае?
  3. Это хорошая идея (производительность, соображения памяти и т. Д.) Для использования структуры для констант?
  4. Следует ли его называть Constant или Constants?

Пример:Быстрая структура для констант

final struct Constant { 
    static let cellId = "CellId" 
} 
+0

Это не будет компилироваться вообще. –

ответ

0
  1. final является модификатором, который предотвращает класс от наследуются, а метод класса или класс свойство от быть переопределены - это не применим к структурам (потому что наследование недоступно), и компилятор должен выдать сообщение об ошибке. Описано в Preventing Overrides

  2. Зее (1)

  3. предпочитаю использовать структуры, потому что классы не поддерживают статические сохраненные свойства (пока). Я не думаю, что существует какая-либо разница между использованием класса или структуры, если постоянные свойства объявляются как статические. Однако, если класс является выбором, рекомендуется использовать final.

  4. Ваш выбор :) Я хотел бы использовать Constants, если структура не только для одной константы только

0

Как говорит Apple, (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Inheritance.html) финал, чтобы предотвратить методы/свойства, которые будут перезаписаны. Таким образом, вы не можете создать суперкласс, который изменяет элемент.

Вызов константы или константы? Я думаю, это зависит от количества свойств внутри структуры.

Если вы попробуете свой пример в Playground, он просто не будет компилироваться.

Смежные вопросы