[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
関連記事
-
-
[Swift] プロパティリスト(plist)の値を取得
plistからデータを取得してみます。 こちらのエントリーも参考にしてみてください。 プロパテ
-
-
[Objective-C] 共通関数をまとめたクラスを作ろう!
共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います
-
-
[Swift] ビルド時のエラー&iOS8でNSBigDecimalのバグ
ビルド時のエラー Swiftプロジェクトを実行中に以下のエラーが出ました。 "__TFSs15_
-
-
[Objective-C] 小数点を丸める!(数値変換)
小数点を含む数値 Objective-Cに限らず、小数点を含む数値を計算する場合はdoubleやf
-
-
[Swift] Asset Catalogについて
XCode5から追加されたAsset Catalog。 いままで標準のImages.xcasset
-
-
[iPhone App] WorkManager 1.2.0版がリリースされました。
新機能 以前から要望などが多かったものを元に、機能を追加いたしました。 新バージョンで追加された
-
-
[Swift] CoreDataを使ってみる
SwiftでCoreData 今回はSwiftでCoreDataを使ってみます。 Xcodeプロ
-
-
[iPhone App]WorkManager アップデートしました。
Processing For App Storeでやきもきした僕です。こんにちわ。 今
-
-
[Swift] Swiftでいろんなfor文まとめてみた
いろんなfor文 プログラム作成で必ず出てくるfor文を自分なりにまとめてみました。 Swift