【问题标题】:Parsing NSData with file content使用文件内容解析 NSData
【发布时间】:2014-05-12 11:02:03
【问题描述】:

我正在从网络中检索一些文件,其中包含我想要解析的特定格式的数据。但是我只知道如何从网上获取文件:

dispatch_async(server_queue, ^{
    NSData* data = [NSData dataWithContentsOfURL:
                    kURL];
    [self performSelectorOnMainThread:@selector(parseData:)
                           withObject:data waitUntilDone:YES];
});

在解析方法中,我想标记文件的每一行,但我不确定如何从 NSData 对象中提取这些行。

-(void)parseData:(NSData *)responseData {
    //tokenize each line of responseData
}

有什么建议吗?

【问题讨论】:

  • 你到底在获取什么?
  • 您可以将 NSData 转换为 NSString。然后在每个换行符处拆分该字符串并遍历结果数组。
  • 将 NSData 转换为 NSString 并使用 CFStringTokenizer。苹果链接here或见StackOverflow Answer

标签: ios file parsing nsdata


【解决方案1】:

NSData 的格式不是您可以通过它来解析的。只需将其转换为这样的 NSString:

-(void)parseData:(NSData *)responseData
{
    NSString *stringFromData = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSArray *eachLineOfString = [stringFromData componentsSeparatedByString:@"\n"];
    for (NSString *line in eachLineOfString) {
        // DO SOMETHING WITH THIS LINE
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多