Objective-C
NSDictionary
方法
NSArray
PropertyList

[iOS]自分で作成した.plistファイルから値を取得する方法

More than 1 year has passed since last update.

自分で作成した.plistファイルから値を取得する方法

自分で作成した.plistファイルから呼び出して値を取得するクラスを作成しました。

TSPropertyList.h
//FileType

///plist
extern NSString *const TSFileTypePropertyList;

/**
 * PropertyList取得値 [rootの返り値がNSDictionaryの場合]
 */
+ (id)getPropertyListWithKey:(NSString *)key
                withFileName:(NSString *)fileName;
/**
 * PropertyList取得値 [rootの返り値がNSArrayの場合]
 */
+ (id)getPropertyListWithIdentifier:(NSInteger)identifier
                       withFileName:(NSString *)fileName;

TSPropertyList.m
//FileType

///plist
NSString *const TSFileTypePropertyList = @"plist";

/**
 * PropertyList取得値 [rootの返り値がNSDictionaryの場合]
 *
 * @param key 値取得用のKey
 * @param fileName 値取得用のファイル名
 *
 * @return PropertyList値[任意]
 */
+ (id)getPropertyListWithKey:(NSString *)key
                withFileName:(NSString *)fileName
{
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *filePath = [bundle pathForResource:fileName ofType:TSFileTypePropertyList];

    // ファイルの存在チェック
    if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
        NSDictionary *propertyList = [NSDictionary dictionaryWithContentsOfFile:filePath];
        return propertyList[key];
    }
    return nil;
}

/**
 * PropertyList取得値[rootの返り値がNSArrayの場合]
 *
 * @param key 値取得用のKey
 * @param fileName 値取得用のファイル名
 * 
 * @return PropertyList値[任意]
 */
+ (id)getPropertyListWithIdentifier:(NSInteger)identifier
                       withFileName:(NSString *)fileName
{
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *filePath = [bundle pathForResource:fileName ofType:TSFileTypePropertyList];

    // ファイルの存在チェック
    if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
        NSArray *propertyList = [NSArray arrayWithContentsOfFile:filePath];
        return propertyList[identifier];
    }
    return nil;
}

これをプログラム中で呼び出すには、下記のようにする。


Hoge.plistを作成 1plistの追加方法

Hoge.m
#import "TSPropertyList.h"

- (void)hoge
{
    id object1 = [TSPropertyList getPropertyListWithIdentifier:0
                                                  withFileName:@"Hoge"];
    NSLog(@"object1 : %@",object1);
    id object2 = [TSPropertyList getPropertyListWithKey:@"hoge"
                                           withFileName:@"Hoge"];
    NSLog(@"object2 : %@",object2);
 }

plistの追加方法


代入したいディレクトリ選択中に [Command + N] で 新規ファイル を作成

→ [Resouce] -> [Property List] を選択
※ 
ファイル名には必要に応じた適当な名前を付ける。


劇団ドリームクラブ

6月末のイベント楽しみだなぁ
音楽ももう一度、練習しとこう!
毎週火曜日の配信もドキドキです。