NSUserDefaults — A Swift Introduction


NSUserDefaults 는 안드로이드 Preference와 같은 기능을 수행합니다.

간단한 데이터인 경우 구지 데이터베이스를 생성하지 않고도 NSUserDefaults를 이용하여 자료를 저장 

할 수 있습니다.


[사용방법]

let pref = NSUserDefaults.standardUserDefaults()//NSUserDefaults 클래스 참조

pref.setValue("Hello", forKey: "abcd")//앞에서부터 "저장할 데이터", "키값"

print(pref.stringForKey("abcd"))//키값을 이용하여 저장된 데이터 불러오기


아래 내용은 NSUserDfaults와 관련된 애플 개발자 사이트의 설명글입니다.

영어 실력이 시원치 않아 원문을 보고 싶으신 분은

https://developer.apple.com/reference/foundation/userdefaults

로 접속하여 보시면 되겠습니다.

Class

UserDefaults

The NSUserDefaults class provides a programmatic interface for interacting with the defaults system.

NSUserDefaults 클래스는 기본 시스템과 상호 작용할 수있는 프로그래밍 인터페이스를 제공합니다.

 

The defaults system allows an application to customize its behavior to match a user’s preferences.

디폴트 시스템은 사용자의 선호에 맞게 사용자 정의 프로그램 동작을 지정해 줍니다.

 

For example, you can allow users to determine what units of measurement your application displays or how often documents are automatically saved.

예를 들어 어플에 표시된 어떠한 측정 단위나 얼마나 자주 문서를 자동으로 저장할지를 사용자가 결정할 수 있도록 해줄 수 있습니다.

 

Applications record such preferences by assigning values to a set of parameters in a user’s defaults database.

어플리케이션은 사용자 디폴트 데이터베이스 내에 있는 매개 변수 집합으로 각각 선호하는 값을 기록 합니다.


The parameters are referred to as defaults since they’re commonly used to determine an application’s default state at startup or the way it acts by default.

매개 변수는 시작 시 응용 프로그램의 기본 상태 또는 기본적으로 작동하는 방식을 결정하는 데 일반적으로 사용되므로 기본 값으로 참조된다,


해석한다고 해봤지만 뭔소린지 모르겠네요...

전 이만 도망가보겠습니다!

포스트에 관한 피드백은 언제나 환영입니다.



Posted by MAESTRO.
,

NSNotificationCenter

IOS(Swift) 2016. 12. 5. 23:46


Class

NSNotificationCenter

An NSNotificationCenter object (or simply, notification center) provides a mechanism for broadcasting information within a program.

NSNotificationCenter 객체는(또는 줄여서 notification center) broadcasting 매카니즘 정보를 제공해준다.

 An NSNotificationCenter object is essentially a notification dispatch table.

NSNotificationCenter 객체는 notification dispatch table을 기본으로 한다.


Overview

Objects register with a notification center to receive notifications (NSNotification objects) using the addObserver:selector:name:object: or

addObserverForName:object:queue:usingBlock: methods.

notification center는 객체등록을 위해 addObserver:selector:name:object: 또는 addObserverFor

Name:object:queue:usingBlock: methods를 사용한다.

 

Each invocation of this method / specifies a set of notifications.

각각의 메서드는 notification 집합을 지정한다.

 

Therefore, objects may register as observers of different notification sets by calling these methods several times.

그러므로, 서로 다른 notification들은 여러 차례 호출되어 지기 때문에 객체로 등록할 수 있다.

 

Each running Cocoa program has a default notification center.

각각의 Cocoa 프로그램에는 서로 다르게 작동하는 notification center가 있다.

 

You typically don’t create your own.

일반적으로 여러분 스스로 만들지는 않는다.

 

An NSNotificationCenter object can deliver notifications only within a single program.

NSNotificationCenter 객체는 하나의 프로그램에서만 nofitication 기능을 수행할 수 있다.

 

If you want to post a notification to other processes or receive notifications from other processes, use an instance of

만약 다른 프로세서에 notification을 보내거나 다른 프로세서에 있는 notification을 사용하고 싶다면,

https://developer.apple.com/reference/foundation/nsdistributednotificationcenter?language=objc 

이것을 사용해봐라.

Posted by MAESTRO.
,


Thread 1 signal Sigabrt


구글링을 통해 국내 여러 사이트를 돌아다녀 봤지만 이렇다한 해결책을 찾아보지 못했습니다.

에러라는것이 정해진 틀에서 발생하는 것이 아니라 생각지도 못한 곳에서 발생하기 때문에 콕찝어서

모든에러에 대한 해결방법을 말씀드릴순 없지만 '개똥도 약에 쓰려면 없다고' 혹시나 하나 얻어 걸려서

도움이 될까 싶어 올려봅니다.



원인 1.

Custom Class 의 Class 및 Module 설정이 잘못되었을 경우

해결방법

Custom Class 의 Class 및 Module 설정이 잘못되었을 경우 위와같은 에러가 발생합니다.

MainStoryBoard로 넘어가신후 해당 뷰의 Custom Class 옵션설정을 제대로 설정해주시면 해결이 가능합니다.


원인 2.

Outlets 가 여러개 선언되었을경우

해결방법

아웃렛 변수를 여러개 선언할 경우 충돌로 인하여 Sigabrt 에러가 발생하게 됩니다.

필요없는 선언을 삭제해주면 간단히 해결이 가능합니다.


원인 3.

클래스에서 아웃렛 변수선언을 강제로 삭제할 경우

해결방법

클래스에서 아웃렛 선언을 삭제하더라도 스토리 보드 내에있는 UIView에는 아직 선언이 남아있습니다.

원인2와 같이 삭제를 해주시면 해결이 가능합니다.


기타

Xcode를 완전히 끄고 재시작 하거나, 맥북자체를 재시작해주시면 해결이 가능합니다.

하지만 이렇게 해결되는 경우는 드물더군요...


Xcode를 접한지 이제 2~3개월쯤되어 가지만 역시나 어렵습니다 ㅠㅠ

마치 안드로이드를 처음 공부하는 기분입니다. 하지만 차근차근 하다보면 나아지겠지요?

저는 이 에러 때문에 일주일을 스택오버플로우와 구글에서 허우적거렸습니다.

저같은 경우는 원인1 때문이였습니다. 제가 영어를 못해서 못본건지 아니면 없던것인지 아무리 찾아봐도

나오지 않던 찰나에 혹시나 이거때문인가 했는데 역시나...

아무튼 이글을 읽고 누군가에게 도움이 되었으면 좋겠습니다.


Posted by MAESTRO.
,

출처 : https://github.com/CocoaPods/CocoaPods/issues/2908

gem uninstall psych

pod setup

'IOS(Swift)' 카테고리의 다른 글

Swift NSUserDefaults(Android = Preference)  (0) 2016.12.06
NSNotificationCenter  (0) 2016.12.05
swift Thread 1 signal Sigabrt 에러 해결 방법  (4) 2016.10.10
Posted by MAESTRO.
,