Подтвердить что ты не робот

Как связать объект в Swift

Как назначить nil объекту в Swift. Я получаю ошибку, если она назначена напрямую.

enter image description here

4b9b3361

Ответ 1

Из документации Apple:

nil не может использоваться с неопциональными константами и переменными. Если постоянный или переменный в вашем коде должен работать с отсутствием значение при определенных условиях, всегда объявляйте его как необязательное значение соответствующего типа

Также очень важно заметить:

Swifts nil не совпадает с nil в Objective-C. В Objective-C, ноль является указателем на несуществующий объект. В Swift ниль не является указатель - это отсутствие значения определенного типа. Варианты любой тип может быть установлен на ноль, а не только на типы объектов

Я надеюсь, что это поможет!

.

Ответ 2

Пожалуйста, проверьте ниже -

var lastRecordedLocation: String?
lastRecordedLocation = nil

Ответ 3

Чтобы удалить объект, он должен быть объявлен с помощью nil ? знак. Это означает, что значение может (возможно) быть нолем. Поэтому объявите его как:

var lastRecordedLocation: String?

а затем вы можете установить его на nil

lastRecordedLocation = nil

Ответ 4

ПРИМЕЧАНИЕ. Если вы определяете необязательную переменную без указания значения по умолчанию, переменная автоматически устанавливается на нуль для вас:

var lastRecordedLocation: String?
// lastRecordedLocation is automatically set to nil
   or
lastRecordedLocation = nil

Ответ 5

Это означает, что ваш объект lastRecordedLocation не является типом Optional. Если вы сделаете lastRecordedLocation как необязательный, например:

var lastRecordedLocation:String?

Вы можете установить nil для этого объекта позже.

Ответ 6

Только необязательный может быть nil

var lastRecordedLocation:CLLocation? или это var lastRecordedLocation:CLLocation!

Ответ 7

если вы хотите использовать свойство nil, вам нужно Необязательное значение для lastRecordedLocation

Ответ 8

Я использовал следующее, чтобы удалить ранее заполненную переменную типа данных

var jsonData = Data()

Эта переменная раньше использовалась для сериализации JSON, но занимала слишком много памяти, поэтому я просто ее повторно инициализировал, и размер снова станет 0 байтами.