2012-08-13 174 views
1

当我试图解析一些奇怪的事情。解析.plist项目

我指望我的项目与

NSString *bundlePathofPlist = [[NSBundle mainBundle]pathForResource:@"Mything" ofType:@"plist"]; 

    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:bundlePathofPlist]; 

     NSArray *dataFromPlist = [dict valueForKey:@"some"]; 

     NSMutableArray *data = [NSMutableArray array]; 
    for(int i =0;i<[dataFromPlist count];i++) 
    { 
     //NSLog(@"%@",[dataFromPlist objectAtIndex:i]); 
     [data addObject:[NSNumber numberWithInt:[dataFromPlist count]]]; 
    } 
    [self setTableData:data]; 

     NSLog(@"%@", tableData); 

然后:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return [tableData count]; 
} 

这个伟大的工程,但随后在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

我试图

NSString *bundlePathofPlist = [[NSBundle mainBundle]pathForResource:@"Mything" ofType:@"plist"]; 

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:bundlePathofPlist]; 

NSArray *dataFromPlist = [dict valueForKey:@"some"]; 


NSLog(@"%@", dataFromPlist); 

cell.Data.text = [NSString stringWithFormat:@"%@", dataFromPlist]; 

return cell; 

但输出是:

2012-08-13 23:08:48.130 [30278:707] (
    Yeah, 
    Trol, 
    LOL, 

) 

而且在我的TableCell也显示为

(
     Yeah, 
     Trol, 
     LOL, 

    ) 
+0

什么奇怪? – 2012-08-13 21:17:59

+0

'( 呀, TROL,LOL , )'在一个小区就需要显示在每一个单元@ H2CO3 – Frenck 2012-08-13 21:20:42

回答

1

所以你有

(yeah, trol, lol) 

...在一个小区内,对不对?现在,这很自然。如果您已阅读NSLog'sNSString's文档,您会发现格式说明符调用对象的描述方法,而对于NSArray对象,该方法又是一个相加的括号,用逗号分隔......再次列出对象的描述。

你可能想要的是

cell.Data.text = [dataFromPlist objectAtIndex:indexPath.row]; 
+0

@Daniel信任我,括号是罚款(反正我喜欢美国英语谈论它时) 。 – 2012-08-13 21:36:50

+1

发型的意见。从英国来看,它只是我一直正确的东西,如果代码格式化在那里,就不会做。 – Daniel 2012-08-13 21:38:46

+0

@Daniel别担心。 :) – 2012-08-13 21:41:21