• [iOS]リソースファイルの取得方法


    リソースファイルのパスを取得するためには下記のように実装する。

    --------------------------------------------------------------------------------
    ◯リソースファイルの取得方法
    --------------------------------------------------------------------------------
    ファイル名「Test.db」のパスを取得する。
    NSString *fileName = @"Test.db";
    NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
    NSString *filePath = [resourcePath stringByAppendingPathComponent:fileName];

    ただしローカライズした際に上記の方法ではデフォルトのファイルしか取得できない。
    そのため下記の方法で取得した方が良さげ。

    NSBundle *mainBundle = [NSBundle mainBundle]; // pathForResourceには拡張子を含めない。 NSString *filePath = [mainBundle pathForResource:@"Test" ofType:@"db"];

    ちなみにサブフォルダを作成した場合は下記のようにinDirectoryにサブフォルダ名を指定する。

    ?12 NSBundle *mainBundle = [NSBundle mainBundle]; NSString *filePath = [mainBundle pathForResource:@"Test" ofType:@"db" inDirectory:@"DB"];

    【リソースフォルダにサブフォルダを作る方法】
    リソースファイルをプロジェクトにコピーするときに「Create folder references for any added folders」を選択する。
    プロジェクトエクスプローラー上でフォルダが青くなっていればサブフォルダの作成に成功している。


    --------------------------------------------------------------------------------
    ◯プロジェクトの全リソースファイルを取得する方法
    --------------------------------------------------------------------------------
     
    NSError *error;
    NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
    NSArray *directory = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:resourcePath error:&error];
    for (NSString *str in directory) {     NSLog(@"FileName:%@",str);
    }

  • 相关阅读:
    shell中exec解析
    linux expr命令参数及用法详解
    Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
    Q_DISABLE_COPY
    lower_bound()函数
    滚动数组
    POJ 1159 Palindrome(LCS)
    C语言中short的意思
    ZOJ 2432 Greatest Common Increasing Subsequence(最长公共上升子序列+路径打印)
    ZOJ 1004 Anagrams by Stack(DFS+数据结构)
  • 原文地址:https://www.cnblogs.com/vonk/p/4275438.html
Copyright © 2020-2023  润新知