LoginSignup
0
0

More than 5 years have passed since last update.

【Objective-C】NSUserDefaultsのキー名をgetter / setterを使って利用する

Last updated at Posted at 2016-10-26

コーディングの際にNSUserDefaultsで以下を定義すると、コードを打ち込む時にサジェストが表示されるため、キー名をわざわざ参照しにいかなくてよい。処理の実行効率は上がらないが、生産性を上げるのに役に足ちます。

定義する関数名をキー名にしておくとよりよいと思います。

定義側

Configuration.h

#import <Foundation/Foundation.h>

@interface Configuration : NSObject

+ (void)setOriginationWithValue:(NSString *)value;
+ (NSString *)getOrigination;
+ (void)setDestinationWithValue:(NSString *)value;
+ (NSString *)getDestination


@end

Comfiguration.m
#import "Configuration.h"

@implementation Configuration

+ (void)setOriginationWithValue:(NSString *)value
{
    // キー名をセッターで指定
    [[NSUserDefaults standardUserDefaults] setObject:value forKey:@"orignation"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

+ (NSString *)getOrigination
{
    // キー名をゲッターで指定
    return [[NSUserDefaults standardUserDefaults] objectForKey:@"orignation"];
}


+ (void)setDestinationWithValue:(NSString *)value
{
    // キー名をセッターで指定
    [[NSUserDefaults standardUserDefaults] setObject:value forKey:@"destination"]; 
    [[NSUserDefaults standardUserDefaults] synchronize];
}

+ (NSString *)getDestination
{
    // キー名をゲッターで指定
    return [[NSUserDefaults standardUserDefaults] objectForKey:@"destination"];
}

@end

呼び出し側

ViewController.m

    /* 値を設定 */
    [Configuration setOriginationWithValue:@"someString"];
        [Configuration setDestinationWithValue:@"anyString"];

    /* 値を取得 */
    _originationStringLabel.text = [Configuration getOrigination];
    _DestinationStringLabel.text = [Configuration getDestination];

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0