Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

このブログでは昨年末の振り返りエントリー位でしか触れていませんでしたが、SwiftでJSONのデコードを簡単かつ型安全に行うことができるHimotokiというライブラリーを昨年の5月から開発しています。 github.com ikesyo.hatenablog.com 先々週にはなりますが、その最新バージョンの1.5.0をリリースしました。 Release 1.5.0 · ikesyo/Himotoki · GitHub このバージョンには以下のような変更が含まれています。 Linuxでのビルドをサポート(Swift Package Managerは1.4.0でサポート済み) build関数をカリー化関数からクロージャーを返す関数に変更(Xcode 7.3/Swift 2.2からの警告に対応) build関数を非推奨に変更(Swift 2からは特に使う必要がない) Extractor.va
目次 Chapter 1 アプリ開発をはじめよう! Chapter 1-1 開発に必要なものはなに? Chapter 1-2 Xcodeをインストール Chapter 1-3 アプリ開発に必要な作業とは? Chapter 1-4 Xcodeを試運転しよう Chapter 2 Xcodeの使い方を知る Chapter 2-1 プロジェクトを作る : New Project Chapter 2-2 Xcodeの画面について Chapter 2-3 画面をデザインする : Interface Builder Chapter 2-4 部品とプログラムをつなぐ : Assistant Editor Chapter 2-5 プログラムを書く : Source Editor Chapter 2-6 シミュレータでテストする : Simulator Chapter 3 Playgroundを使ったSwif
本投稿の個別の説明( Optional とは何か、 ?. と map, flatMap の関係、その背後にあるモナドという概念)は 2017 年現在でも通用するものですが、 Swift の Optional の使い方としては、僕の考えとのズレが大きくなってきました。 Swift の Optional をいつ・どのように使うべきかについてもまとめた ので、そちらも併せて御覧下さい。 Optional は Swift の仕様の中でもっとも素晴らしいものの一つだと、僕は考えています。 null参照 (多くの言語で nil や null と呼ばれるもの)を発明したトニー・ホーアは次のように述べています1。 それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。(中略)これは後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ドル相当
Swift The powerful programming language that’s also easy to learn. Swift is a powerful and intuitive programming language for all Apple platforms. It’s easy to get started using Swift, with a concise-yet-expressive syntax and modern features you’ll love. Swift code is safe by design and produces software that runs lightning‑fast. What’s new Swift 6 makes it easier to write concurrent code correctl
Around one month ago my two-part tutorial series on how to use the MVVM pattern with ReactiveCocoa was published on Ray Wenderlich’s website. Unfortunately just before the publication date Apple launched the Swift beta, a language which is much better suited to functional programming than Objective-C. I’ve ported the app to Swift, and the code looks much more elegant as a result. This blog post sh
第61回 Cocoa勉強会関西で“Swift 1.2 The long-awaited language updates”と題して発表した、Swift 1.2の主だった(おもしろい)変更点の紹介です。 if let Swift 1.2で最も改善されたのはif文です。if letでOptionalをunwrapできる機能が大きく向上し、複数のOptionalを同時にunwrapできるほか、unwrapされた値について条件を加えることができるようになりました。 例えばcondition: Boolが真でふたつのOptional<Int>がnilではなく、大小関係にも条件がある、という条件を表してみます。 Swift 1.1 let condition = true let aNumber: Int? = 3 let anotherNumber: Int? = 7 if condition {
Quick 「Quick」は Swift / Objective-C で利用できるテスティングフレームワークです。RSpec や Specta、Ginkgo などといった Spec 系統のフレームワークをインスパイヤしており、これらと同様の形式でテストケースを記述できます。 import Quick import Nimble class TableOfContentsSpec: QuickSpec { override func spec() { describe("the table of contents below") { it("has everything you need to get started") { let sections = TableOfContents().sections expect(sections).to(contain("Quick: Exampl
About the content This content has been published here with the express permission of the author. Software tests are great for verifying software behavior and improving the quality of your code. In this talk, we learn from Jeff Hui about tooling, techniques, and writing tested code with the Quick testing framework. He also talked about generative testing, a prevalent functional programming approac
前回の記事から引き続き、ReactiveCocoaを触ったりしています。FRPの概念に慣れてくると通常のプログラミングスタイルでは得られない知見に遭遇出来てなかなか面白いです。 今回はまずSwiftでReactiveCocoaを学ぶときに参考にするドキュメントについてご紹介したいと思います。といってもSwiftに特化したドキュメントはほとんど存在しないため、Objective-CでReactiveCocoaを学ぶときのドキュメントを見て学ぶしか無いのが現状です。 私は個人的にはサンプルコードを直接触るほうが性に合っているようなので、以下のオープンソースのReactiveCocoaで作られたアプリのコードを見ています。 https://github.com/AshFurrow/C-41 https://github.com/jspahrsummers/GroceryList GroceryL
FRP(Functional Reactive Programming)なるものが流行っているらしいので、私もたまには流行に乗っかってみることにしました。手始めにReactiveCocoaをSwiftで一日ほど使ってみました。 導入こちらのブログにまとまっていますので、そちらを参照していただければ良いかと。基本的にはCocoaPodsで一発です。 http://tnakamura.hatenablog.com/entry/2014/11/15/how_to_use_reactivecocoa_in_swift ドキュメント基本的にはプロジェクトのGitHubにしっかりドキュメントがあるのでそれを見ればだいたい大丈夫かなと思います。 https://github.com/ReactiveCocoa/ReactiveCocoa https://github.com/ReactiveCocoa/
2015-03-26 swiftでもLINQが使いたいの どうも。 BlenderでのCG制作は続けていますが、週に1時間くらいの驚異的なスローペースのためあまり進展がありません。 で、最近はswiftの勉強をしているのでswiftのお話をします。 C#大好きニンゲンとしては、C#に似ている部分が多いswiftは結構取っ付き易いです。 C#erは大体LINQ厨なので、他の言語を使うと必ず「LINQ使いたい」と言います。たぶん。 LINQが何かわからない方に簡単に説明すると、.NET Frameork 3.5から出てきた統合言語クエリという機能で、いろんな種類のデータを同じ方法で処理するための機能です。(わからん) 九州のアイドルグループではありません。 この辺のneueccさんの説明がわかりやすいと思います。 LINQの仕組み&遅延評価の正しい基礎知識 まず、誰かswiftでLINQラ
はじめに Swift で iOS アプリを実装し直すにあたって、 ただ Swift に翻訳するだけではつまらないので、 MVVM アーキテクチャで実装することに決めた。 View/ViewController と ViewModel のバインド、 イベントや非同期 API 呼び出しのインタフェースを統一するために、 ReactiveCocoa を導入する。 CocoaPods で RactiveCocoa をインストール Podfile に pod "ReactiveCocoa" を追加して pod install。 Bridging-Header で ReactiveCocoa のヘッダーファイルをインポート <プロジェクト名>-Bridging-Header.h に次の行を追加。 #import <ReactiveCocoa/ReactiveCocoa.h> これで Swift から
Auto LayoutでCustom Viewを作成し、それをViewController#viewに配置する方法について説明します。 サンプルコード: https://github.com/stack3/iOSAutoLayoutSamples サンプルコードのCustomViewを選択すると以下の画面が表示されます。 横画面にするとこうなります。 STCustomView.xib グレー背景の部分がCustomViewで、これはSTCustomView.xibでレイアウトされています。 構成は以下のとおり。 UIView – backgroundColorをgrayにしている UIImageView – アイコン表示 UILabel – 文字列表示 UIImageViewのConstraintは以下のようになっています。 要するに幅と高さは32pxでSuperviewとの間隔は8pxと
この記事は CyberAgent エンジニア Advent Calendar 2014 9日目の投稿です。 昨日は@stormcat24 さんの開発効率化への道は一日にしてならず - tehepero note(・ω<) でした。 自分は4ヶ月ほど前にサーバサイドJavaからiOSに転向し、弊社の中で最も息の長い(?)iOSアプリの開発チームにジョインしました。利用者数も多く事業インパクトの大きいアプリですが、ちょっと前からSwift移行を着々と進めています。 Swiftが登場して6ヶ月、ネット上に良い情報が沢山転がっていて目新しい事は書けないんですが、ここでは既存のコードベースをリプレースしながら感じたSwiftの良い所でもまとめてみようと思います。 実際に現場で活きている機能 まだ書きはじめて1ヶ月ほどなので、膨大なSwiftの新機能のうち一部しか触れてはいないですが、はやくもコード
Swiftでのキャストについて、調べましたのでブログにまとめておきます。 環境:Xcode6 beta6 詳細は、”The Swift Programming Language”の”Type Casting”に記載されています。 検証は以下のクラスを用いて行いました。 protocol SomeProtocol { func protocolMethod() } class BaseClass : SomeProtocol{ func protocolMethod() { println("Protocol Method BaseClass") } } class SomeClass1 : BaseClass { func some1() { println("SomeClass1") } } class SomeClass2 : BaseClass { func some2() { pr
クラスとストラクチャ Swiftのクラスは、Objective-Cのクラスとほぼ同じ機能でデータ型を定義します。Objective-Cで使用可能だった機能の多くが、Swiftのクラスでも使用可能です。 ストラクチャも、クラスと同様にデータ型を定義する機能です。プロパティやメソッド、イニシャライザの宣言など、クラスにできることの多くがストラクチャでもできます。しかし、ストラクチャは参照型でないなど、本質的にクラスと異なる部分があります。第1回で取り上げたString、Intなどの値型はストラクチャとして扱われます。 公式ドキュメントによれば、データ型としてストラクチャを考慮すべきケースは次のとおりです。 型を作る目的が、比較的単純なデータ値のカプセル化である場合 インスタンスが参照ではなく、コピーされることが期待される場合 保持プロパティが、参照ではなくコピーされることが期待される場合 他の
Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く