ひとつ注意点ですが、Swiftは書き方の自由度が比較的高いので、チーム開発をする場合は、あらかじめコーディング規約を共有しておいた方が良いでしょう。 Swiftでの命名や慣例のほか、さまざまな指針がSwift.orgにある「API Design Guidelines」にまとめられています。興味のある方は目を通してみてください。 Swift.org - API Design Guidelines インタラクティブ環境でSwiftを触ってみよう 早速ですが、Swiftを触って動作させてみましょう。Swiftはコンパイラ言語でありながら、インタラクティブ(対話的)に実行しながら動作を確認することができます。Swiftに慣れるには、このインタラクティブ環境でいろいろと動作させてみるのが手っ取り早いです。 インタラクティブにSwiftを実行するには、ターミナル(コマンドライン)のREPL(レプル)を
【image via Cult Of Android】 Androidの開発言語はいずれJavaではなくなるかも?! The Next Webによると、GoogleはAndroid用開発言語としてSwiftへの移行を検討していると報じている! FacebookやUberもSwiftへの移行を検討中か?! SwiftはAppleが2014年に発表した開発言語。「WWDC 2015」でオープンソース化を発表し、2015年12月に正式にオープンソースの開発言語としてスタートを切った。 AndroidがJavaからSwiftへ移行するとなると現在Androidプラットフォームで開発している全てのデベロッパーが影響を受けることになるが、幸いにも近々で移行するようなことは無さそうだ。移行の手間が膨大であるためそもそも移行するかどうかさえも分からないが、Javaの開発元であるOracle社との訴訟問題を
tableViewCellの高さ計算の時など、コード上で対象のViewのAutoLayoutを計算した後のサイズを取得したい時があります。 そんな時は、systemLayoutSizeFittingSizeを使います。 引数で渡す値に応じて、コンテンツを表示するための最小サイズか、最大サイズのCGSizeを返します。 サイズ計算時にはサブビューを含めたすべての制約が考慮されます。 // コンテンツを表示するための最小サイズを指定する let minSize = view.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize) // コンテンツを表示するための最大サイズを指定する let maxSize = view.systemLayoutSizeFittingSize(UILayoutFittingExpandedSize)
TL;DR 複雑になりがちな構造やコードをシンプルで把握しやすいコードで記述したい MVVMを用いて責務を明確にし関心事を分離した構造にする ViewDataBindingとFRPを用いて時間とともに変化するデータやステートに伴う処理を宣言的に記述し、Viewとデータの動的な変化を相互的に連動させる 上記をSwiftとそのパラダイムを活かしたライブラリ(SwiftBond)を中心に実現する はじめに Swiftで新規のアプリを開発することになり、MVVM、FRP、ViewDataBindingの要素技術を活用して開発を行いました。設計やライブラリ選定は2015年5月に行っており実装環境はXcode6.4,Swift1.2になります。Swift2.0以上になるとSwift系ライブラリも大きくインタフェースを変更しているため、ここで紹介しているサンプルコードもそのままでは動作しないことをご留意
iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と
変数や定数の宣言時にlazyを付けてなくても自動的に遅延評価される場合があるので、その条件を調べた時のメモです。 動作を確認した環境 環境 情報 Xcode 6.1.1 (6A2008a) iOS 8.1 Swift 1.1 Date 2015/3/9 ソースコード テストに使ったソースコードはこんな感じ。 import UIKit // テスト用クラス class LazyTest { let name: String init(name: String) { self.name = name println("init: \(name)") } deinit { println("deinit: \(name)") } } // グローバル変数(※letで宣言) let g_lazy0 = LazyTest(name: "g_lazy0 - let global") class Vie
Written by Mattt August 22nd, 2018 (revised) This article has been translated into: 한국어 In 1911, linguist Franz Boas observed that speakers of Eskimo–Aleut languages used different words to distinguish falling snowflakes from snow on the ground. By comparison, English speakers typically refer to both as “snow,” but create a similar distinction between raindrops and puddles. Over time, this simple
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな
Objective-C でも Optional Xcode 6.3 で Objective-C の言語機能のアップデートがあり、 Optional と同等の機能を提供する __nullable と __nonnull が利用できるようになりました。端的に言うと Objective-C で値が空の状態がより明確に表現できるようになったということです。今回は、この機能をご紹介します。 Xcode 6.3 から利用可能 __nullable __nonnullで定義 nullable nonnull でも記述可能 __nullable と __nonnull __nullable は、NULL または nil が含まれる可能性がある場合に使用します。一方 __nonnull は NULL または nil が含まれる可能性がない場合(つまり、絶対に空ではない場合)に使用します。これらを使うと、例え
iOSアプリをSwiftらしいコードで記述するために
iOS8が発表され、Swiftが解禁されてからしばらく経ちました。 iOSをやり始めて勉強用に作ったマイQiitaをまるっとSwiftに移植してみました。 Swiftが発表されてすぐに色々いじっていましたが、実際にアプリとして書き始めてみると気づく点もたくさんありました。 今回は色々ハマったり気づいた点をまとめていこうと思います。 ProductName-Swift.hは、ObjC側では.mにimportする これ、少しハマりました。どうやらヘッダファイルでimportするとダメなようです。 Swiftで定義したenumはObjC側で使えない Swiftでenumが大幅に強化されました。 それもあって、Swift側で定義したenumはObjCでは使えないようです。 Optionalをしっかり意識する Swiftの重要な概念である「Optional」ですが、しっかりと意識していないと細かいと
I'm testing swift with CoreData and I created the following code: import UIKit import CoreData class Contact: NSManagedObject { @NSManaged var name: String @NSManaged var email: String class func execute(){ let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate) let context:NSManagedObjectContext = appDel.managedObjectContext! let entityDescripition = NSEntityDescripti
// An example class in a framework target. public class ListItem: NSObject { public var text: String public var isComplete: Bool // Readable throughout the module, but only writeable from // within this file. private(set) var UUID: NSUUID public init(text: String, completed: Bool, UUID: NSUUID) { self.text = text self.isComplete = completed self.UUID = UUID } func refreshIdentity() { self.UUID = N
LTしてきました。 第2回 Swift 勉強会@TechBuzz http://atnd.org/events/51944 写真は@edo_m18さんの作成されたFlappy Birdの3D版。やってみたい。大画面でやると楽しそう。 発表者リスト LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介 @syokenz Pattern match with case class @Lewuathe Swift (with SceneKit) で簡単な3Dゲームを作ってみた @edo_m18 LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介 @syokenz 私の発表は1番目でした。ExtensionsとテストがSpecライクに書けるライブラリのQuickを紹介しました。Quickは実際にアプリ開発で使っていますが、おすすめで
案ずるより書くが易し… Swiftのウリの一つは(Objective-)?Cに直アクセスできることですが、それが意味するのは、JavaScriptに直アクセスできるということでもあったのです。 とりあえずJS使うだけなら こんだけ。 import JavaScriptCore let ctx = JSContext() let ary = [0, 1, 2, 3] var jsv = ctx.evaluateScript( "\(ary).map(function(n){return n*n})" ) println(jsv) var a = jsv.toArray() println(a) はい。見てのとおり、import JavaScriptCoreして、JSContext()でJSの実行環境をこしらえて、それに.evaluateScript()でString食わせれば、おしまい。 実
早速ですが横道にそれていきたいと思います。個人的にSwift言語で「これは!」と思ったポイントに、列挙型の強化があります。いままでObjective-Cでは、定数をまとめてたくさん変数するための構文、程度の認識が強かった列挙型ですが、Swiftではメソッドを持つことができるようになる等、大幅に強化されました。 1.列挙型 enum CompassPoint { case North case South case East case West } これはシンプルなサンプルですが、方位を列挙するためのenumです。それぞれの値は、CやObjective-Cとは異なり、int型が勝手に割り当てられたりすることはありません。 switch directionToHead { case .North: println("Lots of planets have a north") case .So
「Mac」と「iOS」の開発者が「Swift」を綿密に検証している。Swiftは6月にサンフランシスコで開催されたWWDCでAppleが発表した新しいプログラミング言語だ。真っ先に提起された質問には、次のようなものがある。Swiftは良いものなのか、それとも悪いものなのか。現在と将来のプロジェクトにはSwiftを使うべきなのか。プログラマーは過去に遡って、「Objective-C」で記述したプログラムをコーディングし直すべきなのか。 MicrosoftのMS「Office for Mac」および「Office for iPad」チームのDavid Owens氏はかつて、Mediumへの投稿の中で、Swiftの発表はObjective-Cプログラマーにとって不運だと述べている。 Swiftの発表を受けて、私はiOSと「OS X」の開発の未来をとても悲観している。私の見る限り、Swiftによっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く