zoukankan      html  css  js  c++  java
  • [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);
    }

  • 相关阅读:
    BZOJ4644 经典傻逼题 (线段树分治+可撤销线性基+Xor)
    CF678E Another Sith Tournament(思维+dp)
    HDU 6511
    HDU6513 Reverse It(容斥+Cnk)
    一篇最浅显易懂的Splay讲解(试问谁能比我的更易懂
    [CTSC2016]时空旅行 (线段树分治+凸壳
    关于dsu on tree 和一些例题 CF 741 D
    关于区间开根号+区间询问
    [FJOI2015]火星商店问题 --线段树分治+可持久化trie
    线段树 关于pushup的技巧
  • 原文地址:https://www.cnblogs.com/vonk/p/4275438.html
Copyright © 2011-2022 走看看