【问题标题】:What format should NSUserDefaults object be for Array indexNSUserDefaults 对象应该是什么格式的数组索引
【发布时间】:2016-07-29 02:02:00
【问题描述】:

我有一个函数来替换特定索引号处的项目。

let editNumber = userDefault.objectForKey("editnumber") as! String
Globals.datesArray[editNumber] = dateString

但是,我得到一个错误

'不能用'String'类型的索引为'[String]'类型的值下标

在这种情况下,用户默认的对象应该是什么格式?

【问题讨论】:

  • 你需要传递一个 Int
  • 您正在将 editNumber 加载/保存为字符串,您应该将其保存为 Int
  • 我尝试将它作为 Int 传递,我仍然得到错误
  • 只使用 Int(editNumber)
  • 正确的做法是在保存时使用 setInteger(forkey),在加载时使用 integerForKey()

标签: ios arrays swift nsuserdefaults


【解决方案1】:

只是改变:

let editNumber = userDefault.objectForKey("editnumber") as! String
Globals.datesArray[editNumber] = dateString

let editNumber = userDefault.objectForKey("editnumber") as! Int
Globals.datesArray[editNumber] = dateString //this is subscripting

您必须使用 Int 为数组下标。

【讨论】:

    猜你喜欢
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2016-11-04
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多