2015-05-01から1ヶ月間の記事一覧
今回はFactoryMethodパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介され…
今回はDecoratorパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されてい…
Xcode6.3.2で試したのですが、privateメソッドにも普通にアクセスできてしまいました。 下の通り、test()にアクセス可能でした。 class ClassA { private init() {} private func test() { print(1) } } ClassA().test() // 1が出力される 別クラスからのア…
今日からデザインパターンをSwiftで実装するとどうなるかという記事を書いていこうと思います。 最初はデザインパターンの中でも非常に有名なSingleton パターンについて書こうと思います。 デザインパターンとは デザインパターンとはソフトウェア開発の設…
Storyboardを使う時に出てくるsegueについて調査しました。 segueとは 下図の矢印の事です。 私は画面遷移のオブジェクトと言う認識で覚えています。 segueの使い方 Action segueの使い方 一番簡単な方法はボタンを使った画面遷移です。 ボタンを右クリック…
SwiftのString型についてまとめてみました。 Objective-cのNSStringよりイケてる所 @を付けなくて済む let str = "" // @""と書く必要がなくなりました。 文字列連結が楽 +で連結できるようになりました、直感的で分かりやすい。 let str = "A" + "B" // Obj…
題名の通りUIScrollViewのContentSizeが変わらなくてハマった話です。 最初は下のようにUIScrollViewとそれより大きいサイズのビューを用意。 AutoLayout環境ではUIScrollViewは中のビューの大きさに合わせてContentSizeが変わると書いてあったのでこれでCon…
Autolayoutを使い始めて最初につまずいたのが、謎の16pxのマージンでした。 今回はそのマージン周りについて調査してみました。 下画像のように、Storyboardで親ビューと同じサイズになるようにMargin0のconstrainを作成します。 constrain to margin 上設定…
init周りのConvenienceとかDesignatedとかのエラーが出たけどなんのことか分からなかったので調査。 基本的なinit 一番簡単なinitは下の通りです。 普通の関数と違ってfuncは不要です。 Objective-cのself = [super init];やif (self != nil) {}みたいな処理…
やりたかったのはRubyで言う下のような事です。 num = 1 str = case num when 1 then 'one' when 2 then 'two' end 下のlet str: Stringみたいな宣言だけするのが嫌だった事がきっかけで調べ始めました。 宣言だけって代入漏れが起きそうで気持ち悪いので避…
SwiftのOptional型について深く調べてみたのでメモ。 Optional型の概要 Optional型とは下のように?付きで宣言された変数の型の事を指します。 // この2つはOptional型 let a: Int? = 1 let b: String? = 1 そうなってくると「上の変数はInt型でありOptional型…
この度iPhoneアプリの24をリリースしました。 24 - 世界で人気の無料 脳トレ計算アプリhiroki sugimotoゲーム無料 ゲーム説明 内容としては4つのカードがランダム配られるので、それを四則演算を使って24にするというものです。 中国やアメリカでメジャーな…
Swiftのはてな記号とびっくりまーく記号について調べてみました。 SwiftのOptional型について 上の記号はOptional型という物に深く関連しています。 Optional型とはnilを許可する型の事です。 分かりやすく言うとはてなが付いているものはOptional型、ついて…
今回はApp Groupという機能を使った共有方法を利用しました。 App Groupとはアプリ間でデータのやり取りができる機能で、ウィジェットアプリにデータを渡す時にも利用します。 App Groupの設定 最初にApp Groupを使う為の設定をします。 まずは下記の画面でA…
AppleWatchの開発をしてみたのでそのメモになります。 今回は既存のプロジェクトをAppleWatch対応しました。 Xcodeのバージョンは6.3.1になります。 とりあえずAppleWatchのシミュレータ動かす! まずはAppleWatchシミュレータが起動する所まで挑戦しました。…
iPhoneアプリを作ってる時にUIGraphicsGetCurrentContext()がnilを返してハマったのでメモ。 前回の記事にあるUIViewをUIImageに変換する際に起きた問題。 www.cl9.info 下のようなコードを書いたらnilが返ってきた。 let view = UIView() view.toImage() //…
iOS10以上の場合は下のように記述します。 let image = UIGraphicsImageRenderer(size: view.bounds.size).image { context in view.layer.render(in: context.cgContext) } iOS9以下の場合 下のようにUIViewを拡張してUIImage生成メソッドを追加すればOK。 …