hiramatch's blog

iOSアプリ開発に目覚め、毎日勉強の日々です。

Swift

外部引数名

現在ドットインストールの「Swift入門」 でSwif勉強中です。その中で「外部引数名」についての説明があったので その理解を含めるべくplaygroundで簡単なプログラムを作ってみました。「外部引数名」とは関数呼び出し時、引数にどんな値を渡すかをわかるよう…

CGAffineTransformによる回転・拡大/縮小

ずいぶん久しぶりの投稿になりましたが 今回は部品の回転や拡大についての覚え書きです。UIViewおよびその継承クラスのtransformプロパティに対しCGAffineTransXXXを指定します。 回転させる場合はCGAffineTransMakeRocation ※ここで指定する角度の単位は「…

AutoLayoutを使わずに画面中央に図形表示

今日はAutoLayoutを使わずに画面中央での図形表示に挑戦してみました。 iOSデバイスには様々な画面サイズがありますがその画面サイズを UIScreenクラスで画面サイズを取得し、その中心に円を表示させています。 また縦横の中央線も入れてみました。 (今回は…

SwiftでTableViewのデリゲート

今日はTableViewでのデリゲートの方法です。iPhoneアプリでTableViewを実現する為には 「行数を返す」や「セクション数を返す」「セルを返す」といったデリゲートメソッドをViewControllerにデリゲートする必要があります。※「デリゲート」とは「委譲」を意…

SwiftでAutoLayoutに挑戦(multiplier)

過去にSwiftでAutoLayoutを実現する記事を書いたのですがSwiftでAutoLayoutに挑戦 - iOSアプリ挑戦日記hiramatch.hatenablog.comその中でよく分かっていなかったNSLayoutConstraintのイニシャライザに指定するmultipilierについての覚え書きです。このmultip…

文字列検索と置換

今日は文字列の検索、置換にはまっていましたのでその覚え書きです。SwiftではString→NSStringに変換してからNSStringとして編集するのが一般的な様です。 (認識違いでしたらすみません )

タッチイベントを受け取り処理を行うUIViewのサブクラスを作成

2週間ぶりの投稿ですみません。今回はタッチイベントを受け取り処理を行うUIViewのサブクラスを作成しましたので、その備忘録になります。 UIViewを継承したサブクラスを作成する場合は イニシャライザをオーバーライドする必要があるようです。またUIView…

Swiftで配列の要素をシャッフルするプログラムを作ってみました

久しぶりの投稿になりますが 昨日iOSアプリの開発講座で教わった配列の要素をシャッフルするプログラムを 再度自分で作ってみました。シャッフルする配列を無作為に一つずつ、取り出し 新たに用意した配列に先頭から追加しています。これまで仕事とかでプロ…

アクションシートから画面遷移

アクションシートから画面遷移させるサンプルです。 これまでボタンを押下して画面遷移させていたのですが、今回はアクションシートをアクションを指定時に画面遷移させてみました。 セグエはこれまでボタンを次の画面にCtrlボタンを押しながらドラッグして…

失敗のあるイニシャライザ

今回は構造体の失敗のあるイニシャライザのサンプルを作成しました。 イニシャライザはインスタンス生成時に実施される関数で、通常は構造体のインスタンスを生成しますが、失敗のあるイニシャライザではインスタンス生成が失敗しnilを返す可能性があります…

オプショナル型の復習

今日はオプショナル型のサンプルを作成しました。 まずはオプショナル型のアンラップです。 Int型の変数に直接Int?型は代入できないのですが Int?型をアンラップしてInt型に代入は可能です。 次はオプショナルバインディングです。 オプショナルバインディン…

画面遷移およびデータの受け渡し

今回はこれまで苦手意識を持っていた画面遷移のサンプルを作成して見ました 1画面目はデフォルトの画面で 2画面目は右のライブラリからViewControllerをドラッグし 新規追加したSecondViewControllerクラスとひも付けしました セグエは「次へ」ボタンを2画…

gistのソースコードをブログに掲載

gistにてソースコードを貼り付けてブログに掲載してみました 手順は 1. gistにてソースを貼り付け 2. languageにてSwiftを選択 3. 画面右下のCreate public gistボタンを押下 4, 画面右のEmbed URLボタンを押下 5. ブログにURLを貼り付け 以下が実行結果です

構造体のメソッド

メソッドありの構造体のサンプルコードを作成してみました。 メソッドは2つあります。 1つはプロパティを加算した構造体のインスタンスを新たに生成するメソッドadd1で もう一つはプロパティを加算し、書き換えるメソッドadd2です。 通常はメソッド内でプロ…

構造体のイニシャライザ

Swiftの構造体のイニシャライザを使ったサンプルコードを作成してみました イニシャライザとは構造体のインスタンス生成時に動作する関数で 関数名は「init」です。 またイニシャライザはオーバーロードにより複数用意できます。 以下では構造体を3つ作成し…

オーバーロードのサンプルプログラム

今回はオーバーロードのサンプルプログラムを作ってみました。 オーバーロードとは同名の関数を複数定義できるもので 下記では①〜④の4パターンを作成してみました。 引数がStringのplus関数は②、③の2種類ありますが L248では戻り値の指定がなく、どちらの…

関数の引数を書き換える

関数のポインタ渡しを利用したコードを書いてみました。 Swiftでは関数呼び出し時、関数に実引数のコピーが渡されるため(値渡し) 呼び元の実引数が変わることはありませんが(以下のhalf2関数のように仮引数に対し値を設定することも不可) C言語と同様に変数…