我已经被这个问题困扰了几个小时,老实说,我找不到解决方法,我试图使用UserDefaults存储NSDictionary,但由于某种原因,它在运行时在main方法崩溃,即使我存储的NSDictionary是UserDefaults的合法类型。
这是我的代码:
-(void)getEventAlbums
{
NSURL *baseURL = [NSURL URLWithString:[ELConfig getBaseUrl]];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
NSString *urlString = [NSString stringWithFormat:@"album/getAlbums/%@", [self.mEventData valueForKey:@"eventKey"]];
[manager POST:urlString parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
_albumsDict = [(NSDictionary *)responseObject objectForKey:@"data"];
[[NSUserDefaults standardUserDefaults] setObject:_albumsDict forKey:@"feedAlbums"];
} failure:^(NSURLSessionDataTask *task, NSError *error) {
// failure
NSLog(@"Error retreiving albums");
}];
}
BTWALBUMSDIC是NSARRAY类型。
此代码可以帮助您检查是否有有效的属性列表:
- (BOOL)isValidPropertyList:(id)object {
NSData *xmlData;
NSError *error;
xmlData=[NSPropertyListSerialization
dataWithPropertyList:object
format:NSPropertyListXMLFormat_v1_0
options:0
error:&error
];
if(xmlData)
{
return YES;
}
else
{
NSLog(@"Tested object is not a valid property list: %@",error);
}
return NO;
}
添加到您的类中,并使用[self isValidPropertyList:_AlbumsDict];
检查那个ResponseObject中的所有嵌套数据(在所有数组和字典中)。某处有一些不属于NSArray、NSDictionary、NSString、NSNumber、NSData或NSDate类的东西。通过这种方式,正如您所使用的那样,您只能存储100%的plist兼容数据。
如果您的类支持NSCoding协议,您可以将您的对象转换为NSData,并将其保存在NSUserDefaults中。
问题内容: 这个问题已经在这里有了答案 : 调用非对象上的成员函数[重复] (8个答案) 6年前关闭。 在控制页面上: 在查看页面上: 错误是: 注意:尝试在第22行的C:\ wamp \ www \ phone \ pages \ init.php中获取非对象的属性 你能修好它吗?我不知道发生了什么。 问题答案: 检查手册。它返回一个对象,而不是对象数组。 我猜你想要这样的东西 可能我建议您看看
我使用QAF和ant作为构建脚本,IVY作为依赖管理工具。为了自动安装ivy,构建脚本有以下ant目标: 有一些 build.属性,其中属性 提供下载常春藤 ON 或 OFF 通过提供相应的值或。 现在的问题是,无论我为提供什么值build.properties它都认为
BindingX目前支持大部分对View的图形变换能力,如scale/rotate等等。详细说明如下: 属性 功能 transform.translate x&y方向平移 transform.translateX x方向平移 transform.translateY y方向平移 transform.scale x&y方向缩放 transform.scaleX x方向缩放 transform.sca
我想在提交时显示一个弹出窗口,如果值小于max属性。我可以使用如下的HTML5属性实现这一点:,但问题是,当max值是像这样的浮点数时,它会显示另一个弹出窗口,说明该值必须小于21。 我已经搜索过了,我可以用Javascript解决这个问题,但我希望使用max属性,即使值是浮点数。 我希望表单能够提交即使值是21或21.1,除非它是21.2或更多。
问题内容: 是否可以在SASS中访问HTML属性值?我有一行代码说 哪里是一些jQuery东西的结果。我需要计算一些CSS。如何将其另存为SASS变量? 或者,是否可以计算某个父元素的子元素数量?说我有这段代码: (您可能已经猜到了,matches的值与列表项的数量匹配。)SASS可以对列表项进行计数并将该数字保存为变量吗? 任何想法将不胜感激。 问题答案: Sass只是CSS生成器。它实际上并没
我正试图使用ApachePDFBox将图像保存到现有的pdf中,但我的内容被删除,当我将图像放在pdf上时,会得到一个空白文档,有解决方案吗? 我的代码是这样的。