0
因此,新的数据资产类允许读取'数据',但似乎有一些内容限制?我有像这样test.csv文件(这里倒塌观看作为一个单一的线,但每串实际上1线):NSDataAsset数据要求
½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
我通过文本编辑维护文件,像这样(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”,所以我用这些单个字符替代它们。
但是,一旦这样做,断言会引发火灾,所以班级似乎不喜欢我的编辑。我已经把文件作为一个单一字符串(上面) - yuck,我将它分开(-componentsSeparatedByString :)到一个数组,但也许别人可以告诉我这个方法有什么问题?
总的来说,我赞成资产的数据混淆,但似乎有限制。
ps.s.使用.plist文件作为资源,通过TextWranger或除了Xcode之外的其他东西保存文件允许我得到零读取,但不知道为什么。 – slashlos