我正在尝试从服务器读取一个plist。我知道plist是有效的,因为当我去URL时,我得到下载的plist并且plist编辑器正确显示我的数组。现在,当我使用以下代码时,我现在可以填充数组。我看到数据在那里。在调试器中,我看到plistData有值,但数组petListArray根本没有数据。有什么问题?
- (void)getPetListRequestFinished:(ASIHTTPRequest *)request
{
NSData *plistData = [request responseData];
NSError *error = nil;
NSPropertyListFormat format = NSPropertyListBinaryFormat_v1_0;
NSArray *petListArray = (NSArray *)[NSPropertyListSerialization propertyListWithData:plistData
options:(NSPropertyListReadOptions)NSPropertyListImmutable format:&format error:(NSError **)error];
if(error){
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"GetPetListError" message:[NSString stringWithFormat:@"getPettListRequestFinished_new deserialization error: error = %@", error]
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
return;
}
----snip-------
答案 0 :(得分:0)
您为error:
的{{1}}广告位传递了错误的参数类型。尝试:
- NSPropertyListSerialization propertyListWithData:options:format:error:
(检查文档后编辑)