Swift

私はベイマックス。

演算子のオーバーロードを利用して、(○-○)の評価結果を"私はベイマックス。あなたの心とカラダを守ります。"にしてみるテスト。 // Playground - noun: a place where people can play import Cocoa func - (left: String, right: String) -> String { retur…

Quickの手習い

前回までのあらすじ Swiftで使える振る舞い駆動的テスティングフレームワーク「Quick」を導入した 今日やったこと せっかくなので、Quickで使えるmatcherについて、いろいろ試してみました。xUnitと違って、基本的にmatcherには動詞の原形が使われており、慣…

iOS界隈の新手のテスティングフレームワークQuickをCocoaPods的なもので導入して満足して死ぬまでの記録

これまでのあらすじ ひょんなことがきっかけで『iOSアプリ テスト自動化入門』を読みました。今年の3月20日くらいに出版された比較的新しい本なのですが、その直後にSwiftの出現とか冷戦の影響とかのせいでユニットテストを取り巻く状況は急速に変化してしま…

Sprite Kitに初めて触ってみた

iOS端末でパーティクルをキラキラさせたい こんにちは。何を血迷ったか超巨大端末のiPhone 6 Plusを予約してしまったたーせるです。今もって手元に届いていないにも関わらず、待ちきれずに店頭のホットモックをお触りした結果、これは僕には合わないと確信し…

Swiftで弱参照コンテナ

今日のテーマ 問題点: Swiftのコンテナをそのまま使うとオブジェクトを強参照してしまう やること: オブジェクトの弱参照を格納するコンテナを作る Swift復習:うんこの生成と消滅 まずは普通にクラスを作って、メモリの確保と解放が行われることを確認する…

SwiftでVisitorパターン

導入 昔、ダブルディスパッチのところで似たような話をした気もするけど……。時と場合によっては多態性がうまく機能しないことがある、という例。 import Foundation // プロトコル P @objc public protocol P { } // プロトコルPを採用したクラス A, B, C pu…

SwiftでIteratorパターン

最近は、もっぱら言語レベルでサポートされるようになってしまった Iterator です。『増補改訂版Java言語で学ぶデザインパターン入門』では、記念すべき最初の章で紹介されるパターンです。堅物な(?) Java 向けの解説ということもあり、この本の Iterator パ…

プロトコルの型チェックまわりでつまづいたことメモ

こんにちワッフル #挨拶こんにちワッフル— しゅうまい君 (@shuumai) 2014, 8月 9 さっそくですがだめサンプル 突然ですが、以下のコードをご覧ください。これ何故か動かないんですよ。 public protocol Shape { func draw() } public class Triangle : Shape…

SwiftでFactory Methodパターン

なつやすみだ! ひゃっはー∩( ・ω・)∩ ※ふなっしーっぽくこんにちは。たーせるです。最近、Xcode 6 が beta 5 にバージョンアップされました。それに伴い、Swift もだいぶバージョンアップされたようです。今日は新しくなった Swift さんとふたたび戯れてみよ…

Swiftの配列まわりのAPIをExtensionでパワーアップしてみる

ちょっと気になったので。。。 指定したオブジェクトを配列から除去したい 突然ですが、以下の配列の要素のうち「ありがとうさぎ」だけは要らない子なので取り除こうという話になりました。 var arr = ["こんにちわん", "ありがとうさぎ", "こんばんわに"] J…

SwiftからNSNotificationCenterを利用してみるメモ

今回は完全に自分用メモです。 背景もへったくれもなく、人に読んで頂くための記事でもなく、本当にふと思いついて試したことを忘れないうちにメモっておくために走り書いた感じです。このへんを参考に、Swift から NSNotificationCenter を使って「通知」の…

Swiftでデザインパターン(同時上映:クロージャもつかうよ!)

こんにちは。長期出張でへとへとになってしまったたーせるです。おひさしぶりーふ。 6月3日の未明、Appleが「Swift」という新しいプログラミング言語を発表しました。スローガンはObjective-C without C。ぼくはわくわくが止まりません。さっそく Xcode 6 be…

Copyright (c) 2012 @tercel_s, @iTercel, @pi_cro_s.