解析.plist项目

时间:2012-08-13 21:15:05

标签: objective-c ios cocoa-touch

当我试图解析一些奇怪的事情时。

我用

计算我的物品
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,

    )

1 个答案:

答案 0 :(得分:1)

所以你得到了

( yeah, trol, lol )

......在一个牢房里,对吗?现在,这很自然。如果您已阅读NSLog'sNSString's文档,那么您会发现%@格式说明符调用对象的描述方法 - 反过来,对于NSArray对象,是一个漂亮的括号,逗号分隔的列表......再次,它的对象的描述。

你可能想要的是

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