Works for a Living
Works for a Living

Reputation: 1293

Cannot subscript a value of type 'JSON' with an index of type 'STRING'

This was working in Swift2 but now in Swift3 (after automatic conversion) I'm getting an error:

if self.entry["scheduler"] || self.entry["owner"]

Cannot subscript a value of type 'JSON' with an index of type 'STRING'

The values of self.entry["scheduler"] etc. are boolean but I think the issue is the indices, "scheduler" and "owner"

Of course, I reference other indices of self.entry in the exact same way and get no error when I build.

xcode auto updated and I am living in a nightmare.

Upvotes: 8

Views: 8988

Answers (1)

DavidA
DavidA

Reputation: 3172

Substitute whatever type you're expecting for the .string in the first two lines

let scheduler = self.entry["scheduler"].string
let owner = self.entry["owner"].string

if(scheduler != nil || owner != nil)
{
    // Take care here - scheduler and owner are both optionals
}

Upvotes: 16

Related Questions