Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos NSDataAsset数据要求_Macos_Assets - Fatal编程技术网

Macos NSDataAsset数据要求

Macos NSDataAsset数据要求,macos,assets,Macos,Assets,因此,新的数据资产类允许读取“数据”,但似乎有一些内容限制?我有一个像so test.csv这样的文件,折叠在这里作为一行查看,但实际上每个字符串只有一行: ½f ⅛m 1½f ¼m 2½f ⅜m 3½f ½m 4½f ⅝m 5½f ¾m 6½f ⅞m 7½f 1m 1m ½f 1⅛m 1m 1½f 1¼m 1m 2½f 1⅜m 1m 3½f 1½m 1m 4½f 1⅝m 1m 5½f 1¾m 1m 6½f 1⅞m 1m 7½f 2m 我通过TextEdit维护的文件,读取类似NSData类别

因此,新的数据资产类允许读取“数据”,但似乎有一些内容限制?我有一个像so test.csv这样的文件,折叠在这里作为一行查看,但实际上每个字符串只有一行:

½f ⅛m 1½f ¼m 2½f ⅜m 3½f ½m 4½f ⅝m 5½f ¾m 6½f ⅞m 7½f 1m 1m ½f 1⅛m 1m 1½f 1¼m 1m 2½f 1⅜m 1m 3½f 1½m 1m 4½f 1⅝m 1m 5½f 1¾m 1m 6½f 1⅞m 1m 7½f 2m
我通过TextEdit维护的文件,读取类似NSData类别的数据,但不同的方法可以返回不同的“类型”固有数据:

+ (id)assetWithName:(NSString *)name
{
    NSDataAsset * asset = [[[NSDataAsset alloc] initWithName:name] autorelease];
    NSData * data = [[[NSData alloc] initWithData:asset.data] autorelease];

    NSAssert(data.length > 0, @"'%@' has zero data.length ", name);// Yoink

    NSString * string = [[[NSString alloc] initWithData:data
                                               encoding:NSUTF8StringEncoding] autorelease];
    NSString * type = asset.typeIdentifier;

    //  default to Ascii when UTF8 doesn't work
    if (!string.length)
    {
        string = [[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding] autorelease];
    }

    if ([@"public.xml" isEqualToString:type])
    {
        return [self assetBook:string];
    }
    else
    if ([@"public.comma-separated-values-text" isEqualToString:type])
    {
        return [self assetCSVs:string];
    }
    else
    {
        NSLog(@"'%@' has unknown asset type %@",name,type);
        return [self assetCSVs:string];
    }
}
在我修改课文之前,一切都很顺利

我讨厌像½这样的分数被存储为1/2,所以我开始用单字符等价物替换它们

但是,一旦这样做,断言就会激发,因此类似乎不喜欢我的编辑。我已经习惯于将文件作为一个单独的字符串排列在上面-恶心,我把它拆开-组件通过字符串分离:到一个数组,但是也许其他人可以告诉我这种方法有什么问题


总的来说,我喜欢资产的数据混淆,但它似乎有局限性。

不知道为什么,但用.dat类型命名文本文件是可行的


报告的资产类型是dyn.ah62d4rv4ge80k2py,我猜它类似于旧的查找器的前几个文件字节内容,但对于不同内容的几个.dat文件,这种类型是相同的,因此它可能与所使用的方法有关。

p.s.,在将.plist文件用作资产时,通过TextWranger或Xcode以外的其他方式保存文件,使我可以获得零读,但不知道为什么。