가능한 중복 :
Saving UIColor to and loading from NSUserDefaults사용자 기본값에 UIColor를 입력하는 방법은 무엇입니까?
나는, 사용자 기본 설정을 초기화하기는 NSDictionary, 입력 데이터 및 refisterDefaults을 생각합니다. 하지만이 코드에는 오류가 있습니다.
//if UserFilter entry is nothing, create.
NSDictionary *defaultFilter = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:0] forKey:@"UserFilter"];
[userDefaults registerDefaults:defaultFilter];
//if UserBadgeColor entry is nothing, create.
UIColor *color = [UIColor colorWithRed:0 green:0 blue:0 alpha:1];
NSValue *valColor = [NSValue value:&color withObjCType:@encode(UIColor)];
NSDictionary *defaultBadgeColor = [NSDictionary dictionaryWithObject:valColor forKey:@"UserBadgeColor"];
[userDefaults registerDefaults:defaultBadgeColor];
실행 중이면 UserFilter 부분에는 아무런 문제가 없습니다. 그러나 UserBadgeFilter 부분에 오류가 있습니다. 오류 라인은 마지막입니다.
감사합니다.
마지막 줄에는 "EXC_BREAKPOINT (코드 = EXC_I386_BPT, subcode = 0x0) –
이 있습니다. 개체는 NSData, NSString, NSNumber, NSDate, NSArray 또는 NSDictionary의 인스턴스 (또는 컬렉션의 인스턴스 조합) 여야합니다. 그 NSValue는 허용되지 않습니다. – zaph