Takahiro Octopress Blog

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

Swiftの基礎を理解しよう!(3) ~ コーディングテストから用途を見る ~

はじめに

さて本日は久しぶりに Swift の基礎について書きたいと思います。
と言うのも、最近オンラインでのコーディングテストを日常的に解いてみているのですが、
ほとんどの場合、 Swift の基本的な書き方を求められるからです。
(それを如何に使って算数 or 数学を解くか的な問題が多いな〜と感じる今日このごろです。)

Swift もとうとう 4.2 にまで上がってきていますし、
iOSアプリの新規開発はほぼ Swift を利用する世の中になっていると思いますので、
改めて見直して損はないでしょう。

技術ブログのアクセスと収入の推移(5周年)

技術ブログを書き始めて早くも5周年

今年も書きます。早5周年記念投稿!

本日の紹介内容の概要は下記です。

  • アクセス数の推移
  • アクセス数の多い記事を紹介
  • 広告収入の推移

Swiftでif Else vs Switch

はじめに

アプリ開発をしているとたまに if xxx { ... } else if yyy { ... } で書くか switch文を用いるか迷うことがあるかもしれません。
その際には処理速度や可読性を踏まえて選択することが一般的なのではないでしょうか。

今回は処理速度に振り切って、どちらが速いのか比較をしてみようと思います。
( Java で比較している例は見られたのですが、以外にも Swift で比較している例が見られなかったので。)

AutoLayoutの実例(2)

はじめに

前回、AutoLayoutの実例(1)にて、
UITableViewCell 内に長さの異なる UILabel を持った UIStackView がある場合』の AutoLayout について説明しました。

今回は『 UITableViewCell 内に条件次第で isHiddentrue になるパーツを持つ UIStackView がある場合』
AutoLayout について説明したいと思います。

iOS11から使える非常に便利な『setCustomSpacing』

はじめに

UIStackView は様々なシーンで、 AutoLayout を飛躍的に使いやすくしてくれました。
一方で、まだまだ改善の余地ありと感じさせられるところも多く、部分的に困るiOSエンジニアもいたのではないかと思います。

例えば、
『同一スペースを持つ複数Viewをレイアウトする』のには、
UIStackView が非常に有効であるものの、
『一部異なるスペースを持った複数Viewをレイアウトする』には、
あまり向いているとは言えない
といったことなどです。

今回はiOS11から上記例が解消されたことを紹介したいと思います。

AutoLayoutの実例(1)

はじめに

幾つか現場で経験してきた AutoLayout の実例を少しずつ書き留めておこうと思います。
AutoLayout がこれだけ当たり前にiOSに使われる世の中になったものの、実例交えて書かれている記事が少ないなと感じたためです。
(もちろん筆者の記憶に留めておきたい気持ちもあるからですが笑)

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

HackerRankで問題を解いてみよう!

はじめに

さて、今回はHackerRankについて紹介したいと思います。
HackerRankとは求人サイトの一種で、問題を解くことで得点を稼ぐことができ、そのスコアでランキングを競うことのできるサイトです。
同様のサービスではpaizaも有名かと思います。
( 少し前はCodeIQといったサービスもありましたね。 )

HackerRankの特徴は、

  • 全世界のエンジニア対象(=ランキングは世界ランキングになる)
  • 問題文は全て英語で書かれている
  • 問題種別は Algorithms, Data Structures, Mathematics が用意されている

といったところでしょうか。

ReSwiftを勉強してみよう!(3) ~ 非同期通信処理の場合 ~

はじめに

今回は久しぶりにReSwiftについて書きたいと思います。
これまで以下のように ReSwift について勉強してきました。

3回目の今回は非同期通信処理がある場合の ReSwift の利用方法について見ていきたいと思います。

FacebookのGraph API V3から分離されたuser_genderについて見てみる

はじめに

最近、いろいろと個人情報の話が取り沙汰されていますが、Facebookが Graph API v3 を発表しましたね!
Facebookログインを利用して会員登録の簡略化をするなんて、今や当たり前の時代に、個人情報の保護強化のために情報取得のハードルが少々引き上げられました。

また、これまでFacebookログインを利用していたサービスはFacebookの再審査を受けることが義務化されました。
今回新たに審査が必要となる項目も追加され、Facebook社のより一層の個人情報強化の意志を感じさせますね。
因みに、新規にパーミションが必要となった項目は、

  • user_link
  • user_age_range
  • user_gender

の3つになります。
本記事では、中でも user_gender に焦点を当てて見ていきたいと思います。