Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

[Swift] 定数クラスをつくってみる

公開日: : iPhone App 開発, Objective-C, Swift


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Objective-cの場合

今回は共通にする定数をまとめるクラスを作ってみます。

まずはObjective-cで記述してみます。
#defineのマクロを使って宣言することもできますが、
間違って同じ定数名をマクロで書いちゃうと上書きされるし、コンパイルエラーにもならないから分かりずらい。
それにclassにしてまとめた方がわかりやすいですね。

クラス名はCommonConstにしました。以下、サンプル。

CommonConst.h

#import <Foundation/Foundation.h>

@interface CommonConst : NSObject

extern NSString * const CONST_STRING;
extern int const CONST_INT;

@end

externを付与することによって、他クラスからも参照できるようになります。

CommonConst.m

#import "CommonConstObjC.h"

@implementation CommonConst

NSString * const CONST_STRING = @"String value";
int const CONST_INT = 1;

@end

Swiftで実装

次はSwiftです。
メソッド内の定数はletで宣言すればOK。クラスで宣言、グローバル化してやるとこんな感じになります。

CommonConst.swift

import Foundation

class CommonConst {

    class var constString: String {
        return "String value"
    }
    class var constInt: Int {
        return 1
    }
}

なんかわかりずらい。要は関数化?にしろってことなんですかね。
実際に呼び出す場合は

println(CommonConst.constInt)
println(CommonConst.constString)

以下のAppleのドキュメントを参考にしました。
The Swift Programming Language: Properties
Type Property Syntaxの欄にStruct、Enumと一緒にサンプルが載っています。

まとめ

ここでもSwiftは独特ですね。他の記述方法も調べてみたんですが、これが一般的?みたいです。
間違っていたらご教授願います。

ad

関連記事

[iPhone App] WorkManagerの不具合について

バージョン1.2.2の不具合 11/25日現在、iPhoneアプリの「WorkManger」バージ

記事を読む

[Objective-C] 共通関数をまとめたクラスを作ろう!

共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います

記事を読む

[iPhone App]WorkManager アップデートしました。

Processing For App Storeでやきもきした僕です。こんにちわ。 今

記事を読む

no image

一旦、離脱中!

サイト制作の仕事がちょろちょろちょろっと入ってきたので、寂しいけれどしばしXcodeとはお別れ。

記事を読む

[Objective-C] バージョン更新時に変更内容をアラートで出力する

アプリの更新内容を表示したい! バージョン更新時に変更内容を表示させたいのは、ユーザーがいちいちA

記事を読む

[Objective-C] UINavigationControllerのセグエを使って画面遷移をする

画面遷移の実装 今回はUINavigationControllerを使って画面遷移をしたいと思いま

記事を読む

[Objective-C] iPhoneアプリからのメーラー起動

今回はiPhoneアプリからメーラーを起動する処理を紹介します。 メーラー起動のコントローラー

記事を読む

[Objective-C] 小数点を丸める!(数値変換)

小数点を含む数値 Objective-Cに限らず、小数点を含む数値を計算する場合はdoubleやf

記事を読む

no image

爆走中!

挫折街道爆走中です! が! 迷走中でもあるわけです、はい。 そんな中で、迷走するに至った訳

記事を読む

TabBarControllerとNavigationControllerのボタン追加

TabBarとNavigationを同時に使っているViewControllerの場合、naviga

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

[PHP] curl転送してみる(googleに)

curlでgoogle画像検索APIにアクセスしてみます。 cu

[PHP] PDOでMySQLの接続確認をする

PDO PHPでMySQLに接続する際には、mysql_connec

[PHP] ランダムな英数字を生成する

便利系メソッド 今回はPHPでランダムな英数字を作成してみます。

[Swift] プロパティリスト(plist)の値を取得

plistからデータを取得してみます。 こちらのエントリーも参考にし

[Swift] Asset Catalogについて

XCode5から追加されたAsset Catalog。 いままで標準

→もっと見る

  • 1978年の七夕生まれ。 25才でweb業界の門を叩き、28才でフリーランスに。 現在は、フリーランスでマークアップ中心に、wordpressのカスタマイズやデザインをしております。 また、iPhoneアプリの開発もしております。

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
PAGE TOP ↑

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524