Facebook登录:尝试插入类'NSNull'的非属性值'<null>'

Dev*_*Dev -1 iphone facebook ios

当我通过Facebook登录时,我在日志中收到如下消息

*** -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<null>' of class 'NSNull'.  Note that dictionaries and arrays in property lists must also contain only property values.
Run Code Online (Sandbox Code Playgroud)

它的含义是什么?为什么这条消息会传来?

在facebook.m类中,我设置为

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNull null] forKey:@"FBAccessTokenKey"];
[defaults setObject:[NSNull null] forKey:@"FBExpirationDateKey"];
Run Code Online (Sandbox Code Playgroud)

Mat*_*uch 5

[NSNull null] 不能与NSUserDefaults一起使用.

你可以用 removeObjectForKey:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:@"FBAccessTokenKey"];
[defaults removeObjectForKey:@"FBExpirationDateKey"];
Run Code Online (Sandbox Code Playgroud)

或者如果你坚持设置一些东西,你可以设置一个空字符串 @""

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"" forKey:@"FBAccessTokenKey"];
[defaults setObject:@"" forKey:@"FBExpirationDateKey"];
Run Code Online (Sandbox Code Playgroud)