Takahiro Octopress Blog

-1から始める情弱プログラミング

Network Link Conditionerを使ってみよう!

iPhoneシミュレータで速度制限してみよう!

少し間が空きましたが、ブログを更新します。
本日は iPhoneシミュレータで速度制限する方法 を見ていきたいと思います。
と言うのも、筆者はこれまでシミュレータでの開発をあまりやったことがありませんでした。
なぜなら開発端末のスペックが基本的にギリギリだったからです…。

少しでも開発端末のメモリ消費量を減らすために実機での開発をしてきました。
しかし、『手元に実機がある環境というのも実は贅沢なのでは?』と思い直し、
今更ではありますが、本日のお題に行き着いたわけです。

では早速見ていきましょう。

SwiftでTupleを活用しよう!

Tupleとは

さて、本日はSwiftの Tuple について見ていきます。
Tuple とは『複数の型の値を一組にまとめる』ときに利用します。

続いて具体的な使い方を紹介します。

valueのみの格納
1
2
let sample = (201603, "TEST", true)
print("0番目の値は\(sample.0), 1番目の値は\(sample.1), 2番目の値は\(sample.2)")

これを実行すると、

1
0番目の値は201603, 1番目の値はTEST, 2番目の値はtrue

のように出力されます。

今更だけど使ってみようSwiftyJson

SwiftyJsonの便利さを改めて確かめてみる

さて、筆者の個人的な諸事情により、なかなか時間が取れないため、
完全に新しいことを書けないでいる今日このごろです。
今更ながら書くか否か迷ったのですが、
折角、習慣化しているブログ投稿をSTOPさせたくもないので、
Swift屋にとっては当たり前となっているであろうSwiftyJsonについて書こうと思います。
何を隠そう、筆者は今までSwiftyJsonの存在は把握していたものの、
自身で変換して書くことに拘っていたので触っていませんでした。
がしかし、食わず嫌いは如何なものかということで触ってみることにしました。

Swift2.0で追加された新機能を見てみよう!

今更だけど見てみたいSwift2.0で追加された新機能

さて、本日は表題通り、今更なんだけど…Swift2.0で追加された新機能について見ていきたいと思います。
Swift2.0では下記3つの新機能が追加されました。

  • guard statement
  • do-catch, try, defer
  • Protocol Extension

これらの使いどころやメリットなど見ていきたいと思います。

『Swiftビギナーズ勉強会 第13回』に参加してきました

始めに

本日はSwiftビギナーズ勉強会 第13回に参加してきました。
筆者はiPhoneアプリ開発自体は4年近く前から関わっているものの
(初めはWebViewを使ったハイブリッドアプリから携わり、後にフルネイティブに…)、
多くはObjective-Cで書いてきたため、Swiftでのコーディング経験は長くありません。
そういった経緯や、iOS関連の勉強会を探していたこともあり、
良い機会だと思って参加することにしました。

今回の勉強会の概要はこちらの資料で説明頂きました。
概要資料

SwiftでNSDateFormatterを使ってNSDateからStringに変換してみる!

NSDateFormatterとは

さて、本日はNSDateFormatterについて見ていきます。
NSDateFormatter

  • NSDateからStringへ変換する際に指定するフォーマットオブジェクト
  • StringからNSDateへ変換する際に指定するフォーマットオブジェクト

として使ったりします。
(他にもNSCalendar等々で利用します。)
基本的な変換は下記のようにできます。

1
2
3
4
5
6
func convertStringFromDate(date: NSDate) -> String {
  let dateFormatter = NSDateFormatter()
  dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"

  return dateFormatter.stringFromDate(date)
}

続いて、よく利用する各種設定について見ていきましょう。

Sansan×SONYアプリ勉強会に参加しました

Sansan×SONYアプリ勉強会

本日は勉強会への参加報告です。
Sansan×SONYアプリ勉強会に参加してきました。
なかなか参加したいアプリ関連の勉強会って少ないんですが、今回は面白そうだなと思って、結構、早めに申し込んでいました。
当日見てみるとキャンセル待ちも数十名になっていたので、珍しく早めに申し込んで良かったなと思いました。
では、早速、筆者が今回の勉強会で得た感想等々を書いていきます。

SwiftLintを使ってみよう!

SwiftLintを使ってコード規約に則ったチーム開発を目指そう!

本日はSwiftLintを紹介したいと思います。

SwiftLintとは
チーム内で1つのコード規約に則って開発することを補佐してくれる静的解析ツールです。

JavaScriptであればJSLintJSHint(最近であればESLintでしょうか)ですし、
Objective-CであればOCLintが主流かと思います。
それのSwift版ですね。

筆者はあまり大規模なチーム開発を経験したことがないので、
SwiftLintを使ったことがありません。
なので、逆に新鮮な心持ちで使い方や良いなと思う点について紹介できればと思っています。

Android Studio2.0: TableLayoutを使ってみよう!

TableLayoutとは

TabLayoutに続いて、本日は、TableLayoutを使った画面作成をしたいと思います。
AndroidでのTableLayoutはHTMLで言うところの<table>タグに当たり、
iOSで言うところのUITableViewが使いどころとしては近いと思います。

筆者が思うにTableLayoutは決まったレイアウトの実装には向いていますが、
複雑かつオリジナリティの高い画面を作成する際に使うには難しいのかなと感じています。
何はともあれ、実装に入っていきましょう。

本記事で利用しているAndroid Studioは Android Studio 2.0 Beta 3 になります。
(Android Studio 1.5 以上であれば基本的に同じだと思います。)

Android Studio2.0: TabLayoutを使ってTabを画面最下部に配置しよう!

Tabを最下部に配置する方法について

さて、本日は簡単な話なのですが、案外ハマったので、メモ代わりに書いておきたいと思います。
以前、Android Studio2.0: TabLayoutを使ってみよう!でTabLayoutを使ったTabデザインの実装方法について紹介させて頂きました。
そのときはTabをToolbarのすぐ下に配置していましたが、画面最下部に配置したいことも出てくることでしょう。
その方法について書きたいと思います。

TabLayoutの配置はcontent_main.xmlに下記のように書きます。