Search code examples
iosarraysswiftplist

how to take string from returned plist array


When I am trying to take the value from a plist and append it to an array

nameArray.append(namesArray!.objectForKey("Item1")! as! String)

The target item is a string but it appears to be inside the plist array, can anyone explain how to get it out please?

The print of namesArray!.objectForKey("Item1")! followed by the error are shown below:

enter image description here


Solution

  • Cast the value of the "Item1" key as an array of Strings, then fetch the first object from the array (since it appears there's only one). And if you like the idea that your app should not crash everytime a value is nil, better use if let than force-unwrapping everything with !.

    Example:

    if let names = namesArray, 
        let items = names.objectForKey("Item1") as? [String], 
        let result = items.first {
    
        nameArray.append(result)
    }