Macos NSDataAsset数据要求
因此,新的数据资产类允许读取“数据”,但似乎有一些内容限制?我有一个像so test.csv这样的文件,折叠在这里作为一行查看,但实际上每个字符串只有一行: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类别
½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以外的其他方式保存文件,使我可以获得零读,但不知道为什么。