2

我想在下面的代码中分配一个变量而不是字符串。首先,我从逗号分隔的目录列表创建一个数组。接下来对于数组中的每个目录,如果它们不存在,我想创建它们。

我如何从数组中分配目录而不是:@“templates/standard1/css” 我试过用 s 替换它,但没有成功。我可以 NSlog s,但它似乎没有创建目录。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *theString = @"templates, templates/standard1, templates/standard1/css, themes, themes/plain, themes/plain/384";
NSArray *items = [theString componentsSeparatedByString:@","];
for (NSString *s in items) {
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"templates/standard1/css"];
    if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
        // Directory does not exist so create it
        [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:nil];
    }

}

任何帮助,将不胜感激 :)

4

1 回答 1

3

我认为这些空间正在困扰您的目录。您将每个目录用“,”分隔,但正在搜索“,”(没有空格)。您可以从 中取出空格theString,也可以使用“,”作为分隔符,以使用字符串!!!

所以要么改变

NSString *theString = @"templates, templates/standard1, templates/standard1/css, themes, themes/plain, themes/plain/384";

对此

NSString *theString = @"templates,templates/standard1,templates/standard1/css,themes,themes/plain,themes/plain/384";

或者改变这个:

NSArray *items = [theString componentsSeparatedByString:@","];

对此:

NSArray *items = [theString componentsSeparatedByString:@", "];

但不是两者都有!!!

于 2012-06-14T18:09:30.850 回答