Roma Darvish
Roma Darvish

Reputation: 267

swift UserDefaults return nil as NSMutableArray

I have multi line texts and i save them UserDefaults. When i want to get the text sometimes return nil. But there is a text in it. How can i do that the nil does not return?

var savedReports: NSMutableArray = NSMutableArray()

    if let sR = defaults.object(forKey: "savedReports") as? NSMutableArray {
        savedReports = sR.mutableCopy() as! NSMutableArray
    }

Upvotes: 0

Views: 138

Answers (1)

Dave Weston
Dave Weston

Reputation: 6635

The UserDefaults API will always return immutable arrays. You want:

var savedReports: NSMutableArray = NSMutableArray()

if let sR = defaults.object(forKey: "savedReports") as? NSArray {
    savedReports = sR.mutableCopy()
}

Upvotes: 1

Related Questions