Быстрая инициализация массива, если ноль - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу инициализировать массив, если он равен nil.

Причина этого заключается в том, что у меня есть необязательный массив (так как я хочу, чтобы он был нулем, пока не будет выполнен вызов API - это необязательно иэто часть контекста вопроса):

Вот проблема:

var array: [String]? = ["1","2","3"]
if array == nil { pageArray = []}
array! += ["4"]

Код работает, но его нелегко прочитать.Существует принудительная развертка для массива, которая не годится.

Что не вопрос: Обратите внимание, что это не рабочий код, не содержит импорт для UIKit или другой код, не связанныйк массиву. У меня может быть плохо названная переменная и т. д., но этот вопрос о массиве.Возможно, я что-то неправильно написал в этом вопросе, и это может быть не совсем понятно, но мне действительно нужна помощь по инициализации массива, и название вопроса (и сам вопрос) относится к этому.

Что я пробовал Я пробовал охрану, но, конечно, охранники не должны падать, так что это кажется плохим вариантом.

Вопрос Как я могу инициализировать массив, если итолько если это ноль?

1 Ответ

2 голосов
/ 23 сентября 2019

Прежде всего, вам лучше пересмотреть, если вам действительно нужно различать пустой массив и ноль.Вы можете подумать, что вам это нужно, но ваш пример настолько упрощен, что читатели не могут судить, действительно ли он нужен.

Предполагая, что вам это нужно Необязательно, я написал бы его как:

var array: [String]? = ["1","2","3"]
array = (array ?? []) + ["4"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...