Знам, че вече са задавали много въпроси по този въпрос, но моят е малко по-различен.
Това, което искам да направя, е да запазя "свойство на клас" в NSUserDefaults. За да създам "свойството на класа", направих това:
// MyClass.h
#import <Foundation/Foundation.h>
static NSString *userIndex;
@interface PlanGenerator : NSObject
+ (void)setUserIndex:(NSString *)userIndexNew;
+ (NSString *)userIndex;
@end
// MyClass.m
#import "MyClass.h"
@implementation MyClass
+ (void)setUserIndex:(NSString *)userIndexNew
{
userIndex = userIndexNew;
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:userDefaults forKey:@"UserIndex"];
[userDefaults synchronize];
}
+ (NSString *)userIndex
{
return userIndex;
}
@end
Но когато искам да setObject: userIndex, приложението се срива с грешката:
attempt to insert non-property list object <NSUserDefaults: 0x109409e50> for key UserIndex'
Някой има ли идея как да поправя това?