2017-02-24 3 views
0

여러 줄의 텍스트가 있고 UserDefaults를 저장합니다. 때로는 텍스트를 얻으려면 nil을 반환해야합니다. 그러나 텍스트 안에 텍스트가 있습니다. 닐이 돌아 오지 않는다는 것을 어떻게 할 수 있습니까?swift UserDefaults는 nil을 NSMutableArray로 반환합니다.

var savedReports: NSMutableArray = NSMutableArray() 

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

답변

1

UserDefaults API는 항상 변경 불가능한 배열을 반환합니다. 원하는 항목 :

var savedReports: NSMutableArray = NSMutableArray() 

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

왜 Foundation 유형 대신 Swift 유형을 사용하지 않으시겠습니까? – JAL

+0

@LeoDabus 어, 죄송합니다. Swift 대신 Foundation의 슬픈 사용 –

+1

@ Xcoder123 Swift 버전은 Swift 대 Foundation 유형을 사용하지 않아도됩니다. 그게 어떻게 관련이 있는지 모르겠다. – JAL