2016년 2월 10일 수요일

NSUserDefaults를 사용하여 사용자 데이터를 저장하는 방법 @@ in Swift2.x - Xcode 7.3 iOS 9.3


NSUserDefaults 는 기본적인 사용자의 데이터를 저장할 수 있다 많은 데이터 저장 시 앱 속도에 문제가 발생 할 수 있다

<NSUserDefaults 는 다양한 형태로 저장 가능>

   예 )  문자열, 배열, 숫자, 날짜 등등

        let defaults = NSUserDefaults.standardUserDefaults()
        defaults.setInteger(25, forKey: "Age")
        defaults.setBool(true, forKey: "UseTouchID")
        defaults.setDouble(M_PI, forKey: "Pi")
        defaults.setObject("Paul Hudson", forKey: "Name")
        defaults.setObject(NSDate(), forKey: "LastRun")

  배열과 딕셔너리 도 가능 하다

        let array = ["Hello", "World"]
        defaults.setObject(array, forKey: "SavedArray")
    let dict = ["Name": "Paul", "Country": "UK"]
        defaults.setObject(dict, forKey: "SavedDict")



  <예제코드>
    let defaults = NSUserDefaults.standardUserDefaults()
    let userid = defaults.stringForKey("userid")
      if((userid) != nil){
      // 값이 저장되어 있을 경우   
        print(userid)
      }else{
      // 저장된 값이 없을 경우 데이터 저장
        let userid_value= "tester"
        defaults.setObject(userid_value, forKey: "userid")
      }

< NSUserDefaults 설정을 찾을 수없는 경우, 디폴트 값>


  • integerForKey() returns an integer if the key existed, or 0 if not.
  • boolForKey() returns a boolean if the key existed, or false if not.
  • floatForKey() returns a float if the key existed, or 0.0 if not.
  • doubleForKey() returns a double if the key existed, or 0.0 if not.
  • objectForKey() returns AnyObject? so you need to conditionally typecast it to your data type.

댓글 없음:

댓글 쓰기

추천 게시물

애플 개발자 등록방법 2016년 5월 8일 기준!!

애플 개발자 등록 절차 1. 개발자 등록 페이지 이동    애플 개발자 로그인 > Account 페이지 이동 > 하단 영역 클릭 (이미지 참조)   >> Enroll 클릭 >> 무조건 승인!! ...