2017-05-10 5 views
2

나는 빈 ArrayInt을 추가 한 다음 를 읽을 다음 UserDefaults으로 데이터를 저장하기 위해 노력하고, 여기에 내가 뭐하는 거지입니다 :문제는 3

//create an empty array 
var intArray = [Int]() 


func addToBookMark(Number:Int) { 

    //Add object to array and save it 
    intArray.append(Number) 

    UserDefaults.standard.set(intArray, forKey: "bookmark") 
    UserDefaults.standard.synchronize() 


    //Read it 
    let array = UserDefaults.standard.array(forKey: "bookmark") as? [Int] ?? [Int]() 
    print(array.description) 

} 

//Calling the method : 
addToBookMark(Number: 30) 

문제는 컴파일러는 나에게 빈 배열을 제공합니다 : [] 내 문제는 무엇입니까?

+0

시뮬레이터 또는 운동장을 체크인하고 있습니까? –

+0

@SivajeeBattina 놀이터 –

+0

작성한 코드는 시뮬레이터 나 운동장에서 작동하지 않습니다. 체크인 장치. 사용자 기본값에서 배열을 저장/가져 오는 구문이 swift 3.0에서 변경되었습니다 –

답변

2

코드가 완벽합니다. 시뮬레이터 문제입니다. Mac을 재부팅하는 것이 좋습니다.

WWDC 씨 : 복수의 iOS 시뮬레이터를 실행하면 원인 NSUserDefaults 시뮬레이터에서 작동하지 않습니다 아이폰 OS (10) 시뮬레이터 뒤에 아이폰 OS 8 또는 9 시뮬레이터를 실행

작동하지 에 NSUserDefaults가 발생할 수 있습니다. 호스트 Mac을 재부팅하여 해결 된 일 수 있습니다.

운동장의 경우 놀이터에서 샌드 박스에 액세스 할 수 없기 때문에 운동장에서는 작동하지 않으므로 radar이 작동합니다.