UserDefaults.standard.set (any, forKey :) при написании словаря SIGABRT? [Дубликат]

Добавляем мой сильно поддержанный комментарий как ответ со скриншотами.

Я потратил много времени на это, наконец, что сработало для меня:

1) Открыть Sql Server Configuration Manager -> Конфигурация сети SQL Server -> Протоколы для & lt; (INSTANCE)> -> TCP / IP (дважды щелкните по нему).

2) Выберите -> IP-адреса (вкладка).

3) Перейти к последней записи IP All и указать TCP-порт 1433.

4) Нажмите Win + R и введите services.msc.

5) Теперь перезапустите SQL Server & lt; (INSTANCE)>.

После этого проблема была решена!

1
задан halfer 6 February 2017 в 21:38
поделиться

1 ответ

setObject(_:forKey:) не может принять Dictionary с ключом, который является целым типом. Для этого метода требуются объекты списка свойств, но myDic = [1:2] не является объектом списка свойств.

В нем есть два документа.

setObject (_: forKey :) NSUserDefaults

Параметр value может быть только объектами списка свойств: NSData, NSString, NSNumber, NSDate, NSArray или NSDictionary. Для объектов NSArray и NSDictionary их содержимое должно быть объектами списка свойств.

О списках свойств

И хотя объекты NSDictionary и CFDictionary позволяют своим ключам быть объектами любого типа, если ключи не являются строковыми объектами, коллекции не являются объектами списка свойств.

Если вы установили целочисленный ключ к Dictionary, объект Dictionary не может использоваться для значения setObject. Вы должны использовать строку для этого ключа:

myDic = ["1": 2]
2
ответ дан Jebeom Gyeong 19 August 2018 в 19:18
поделиться
  • 1
    Дайм, это отличный ответ. На самом деле, как босс. Ты мне нравишься. Большое спасибо. Собираюсь попробовать, как только смогу. – Sam 29 February 2016 в 09:00
  • 2
    нормально, это экономит .. но как я могу переконвертировать обратно в int, и я хочу добавить к нему некоторые объекты. Теперь я решил все это, сделав let tempDic = myDic.muableCopy(). Есть ли более простой способ? – Sam 29 February 2016 в 15:51
  • 3
    во всяком случае, он работает. так: СПАСИБО МНОГО! – Sam 29 February 2016 в 15:51
Другие вопросы по тегам:

Похожие вопросы: