"まだ"の力 [Swift]基礎辞書

学んだことを書いていきます。質問やエラーなどございましたらお気軽にコメントお願いします。

時間を操る「NSTimer」

ゲームアプリをやったことある人がいるなら一度は目にしたことがある、制限時間やカウントダウンなどはこのNSTimerを使っているんです!
その中の代表的なメソッドがscheduledTimerWithTimerInterval(スケジュールドタイマーインターバル)というメソッド。

翻訳

scheduled |計画された
Timer      |タイマー
WithTimerInterval |タイマー間隔を持った

直訳すると計画されたタイマー間隔持ったタイマーということになります。
つまり、自分でタイマーの間隔を操作できるタイマーです。

ではその使い方を見ていきましょう。

続きを読む

すべてクラスの根源!「NSObject」

NSObjectとは

Objective-Cのクラスの階層の根源

Objective-Cのクラスを使うときに継承するにたいですね。
Swiftから始めた人が開発する場合はこのクラスを使わない場合が多いと思うので詳しくはしばらく後回しですかね。まずは基本の知識をつけていきます。

続きを読む

エラー「 class ViewController has no initializers」の対処法

エラーが出てきちゃいましたーー。のでその対処法をメモ!

よく読んでみると、「class ViewController has no initializers」ViewControllerクラスにはinitializersがない?
よくわからないのでググりました。

〜原因〜

初期値にnilが入っていたことがいけなかったようです。

    var MyButton:UIButton

これが原因だったんですね。

続きを読む

データを永久保存したい!そんな時はこれ!「NSUserDefault 」

アプリ開発をする上でゲームのスコアや、文字列を保存、取得しておきたいことありますよね。そんな時はこれ!
「NSUserDefault」これはアプリを閉じてもデータが保存されるのでゲームを作る上で必須と言っても過言ではないですね。
では使い方に移ります。

//保存したい配列を用意します。
        var status = ["attack", "defense", "speed", "cleverness"]
//NSUserDefaultのsetObjectを使って配列statusに鍵("STATUS")をかけて保存します。
        NSUserDefaults.standardUserDefaults().setObject(status, forKey: "STATUS")
        NSUserDefaults.standardUserDefaults().synchronize()
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-1781507482769341",
    enable_page_level_ads: true
  });
続きを読む

初心者、基礎を積み上げる「class」

**クラスとは?

構造体はひとまとまりの意味のあるデータを実現するために使い、クラスはシステムを構成する構造や役割を与えられて動作する単位を実現するために使われるものだと考えて進めていきます。クラスはC言語などのポインタのようにインスタンスが参照されて代入や譲渡されます

つまり、親の同じインスタンスに代入する時mutatingをつけなくていいということなんですねー。構造体や列挙型と違うところの一つです!

同じインスタンスを参照するならクラス
コピーしたインスタンスを持ってくるなら構造体

続きを読む

初心者、基礎を積み上げる「オプショナル値!?」

!と?どういうことなの?

値を入れない変数や、関数を使いたい時は必ず出てくると思います。他の言語ではEOFや0などで終わりを示していたが、Swiftではnilという、値がないという意味の特別な値が用意されているためとても便利になりました。
例えばString型のとき、!空白の値(nil)が入る可能性がある場合はString?という型になります。これをオプショナルString型と呼びます。

var x:String = "文字"
var y:String? = "文字"
var z:String?
x = nil
y = nil
print("\(z)")    //nilと出力

//変数xなど初期値を設定しない場合はnilが入ります。



「ここに値入るのかな...?←」ってときにオプショナル型(?)になるんですね。
これはStringのみならず他の型に対しても同様です。







続きを読む

初心者、基礎を積み上げる「get set(ゲッタ、セッタ)」

計算型(Computed)プロパティ

!値を保持せずに他のプロパティの値からその都度計算して結果を返したり、設定したりするプロパティ。

!公式

続きを読む