frasco.io 2024 著作権. 不許複製 プライバシーポリシー
はじめに この記事は、第5回スタートアップiOS勉強会 - connpassでの同名の発表を文章形式でリライトしたものです。 スライド版(Speaker Deck)はこちら。 String と NSString 「文字列の特定の単語に色をつけて、textViewに表示したい」 …という、ヒトなら誰しもが持つ欲望をさらけ出してください。 そう言われたあなたは、以下のようなコードを書くかもしれません。 func coloredText(from str: String, target: String) -> NSAttributedString { // 対象単語の出現範囲( Range<String.Index> )を取得 let range: Range<String.Index> = str.range(of: target)! // Range<String.Index> を NSRa
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
こんにちは。アプリケーション共同開発部の八田です。 Fenrir Advent Calendar 2015 も 14日目となりました。 WWDC 2015 で Swift のオープンソース化が発表され、先日 GitHub で公開されました。私も Linux で動くようになった Swift を少し試してみましたが、動作するプラットフォームが増えて Swift の利用が拡大していくことに期待しています! さて、Swift で開発しているプロジェクトでどうしても Objective-C のコードを使いたくなった時に、Bridging Header だけでなく Clang の Modules も使えることを最近知ったので、Modules について紹介したいと思います。 Modules とは Modules は Clang の機能で、ヘッダーファイルで公開された情報をあらかじめバイナリとしてモジュー
はじめに この3週間ほど仕事でSwiftを使ってアプリ開発をしてみました。その感想として、すべての人に当てはまるとは言えませんが、 多くのiOSアプリ開発者にとっては今すぐにSwiftを使い始める価値があると感じました(Swift 1.0がリリースされてから1ヶ月ほど経った2014年10月時点での感想です)。 そこで、この投稿では Swiftの利点とよくある不安や疑問に対する回答 を書いていきます。 対象となる読者 この投稿は次のようなiOSアプリ開発者を対象としています。 Objective-Cで十分でしょと思っている人 なんとなくSwift良さそうだけど踏み出せない人 Swiftがいいのはわかったけどまだ実案件では使えないと思う人 どうしてObjective-CよりSwiftを使った方がいいの? Optional Type(これだけでSwiftを使う価値あり) 私見ですが、Object
概要 Blocksはみなさんよく使いますでしょうか。 私は最初objective-cを勉強したときにBlocksのややこしい書き方を見て ああこれは絶対使えるようにならないと思ったのですが、 使えば使うほど便利な場面が多くて今ではなるべく使えないか考えるようにしています。 そこで基本をおさらいつつ、どんなときに使っているか書きたいと思います。 そもそもBlocksってなに? ざっくり言うと関数を式として宣言、作成することが出来る仕組みです。 なので、関数をそのまま変数のように関数に受け渡すことが出来ます。 調べると結構説明が難しい説明がたくさん書いてあるのですが、 「関数を変数として扱える仕組み」、と覚えておけばひとまずは良いかなと思います。 書き方はこのあたりを参考にすると良いかと思います。 ■ブロック構文の基本的な使い方 http://www.objectivec-iphone.com
Issue #16 Swift, September 2014 By Chris Eidhof まずはじめに、私は非常に偏っていることを認めなくてはなりません。私はSwiftが大好きです。私がCocoaのエコシステムに関わって以来起こったことの中で一番いい出来事だと思います。なぜそう思うか、それを私のSwift、Objective-C、Haskellの経験を共有することで伝えたいと思います。この記事で取り上げることはベストプラクティスということではなく(執筆時点でSwiftは新しすぎて確立したベストプラクティスはまだありません)、Swiftがどこで威力を発揮するのか、その例をお見せします。 少し個人的なバックグラウンドを説明すると、iOS、OS Xプラットフォームのプログラマーになる前、私は何年かHaskellを(他の関数型言語とともに)書いていました。私は今でもHaskellは経験した中
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな
WWDCでのアップルの発表によると、iOS 8 では4000以上もの API が追加されたとのことですが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりよくわかりません。やはり実際にコード書いて動かしてみるのが一番わかりやすい、ということで今年もつくりました、 iOS 8 新機能のサンプルコード寄せ集めアプリ『iOS8-Sampler』 ソースコードは GitHub に置いてあります。 https://github.com/shu223/iOS8-Sampler ※使い方は Xcode 6 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひ最寄りのエンジニアにビルドしてもらってください。 中身について 今回はデザイナー okazu 氏の協力により立派なアイコンやスプラッシュ画像が最初
「そんなん簡単やろ」と思いますよね。 たとえば、「UITextField 文字数制限」でググれば山のようにブログ記事やらコードが出てくるし、Stack Overflow に載ってるコードのコピペ一発で解決しそうに思えませんか? 実は文字数制限をつけたテキストフィールドはそんなに簡単な話ではないのです。 shouldChangeCharactersInRange:replacementString: は使えない子 今回はこれに尽きます。 UITextField や UITextView のデリゲートで呼ばれる textField:shouldChangeCharactersInRange:replacementString: やtextView:shouldChangeCharactersInRange:replacementString: は使ってはいけません。 より正確に言うと、使うとき
インプレスジャパン様より *1 献本いただきました。 UIKit徹底解説 iOSユーザーインターフェイスの開発posted with amazlet at 14.06.21西方 夏子 インプレスジャパン 売り上げランキング: 8,651 Amazon.co.jpで詳細を見る 著者の西方夏子さんは、『上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編』の Chapter02:「画面遷移」 Chapter03:「UIKit Dynamics」 等々を執筆されていた方で、僕も iOS 7 から入った「カスタム画面遷移」「インタラクティブ画面遷移」はこの書籍のサンプルで勉強させていただきました。*2 ブログの記事も書籍のように詳しくわかりやすく、いつも参考にさせていただいています。 で、今回の『UIKit徹底解説』ですが、中級者向けUIKit専門書とのこと。UIKitはi
とりあえずThe Swift Programming Language読んで、実際に自分で少し書いてみた感想。 諸事情でAppleにiOSデベロッパーとしてお布施していたので Xcode6beta落として少し書いてみた。プロジェクトスケルトンをswiftで生成できるので、そのコードを眺めたりしていた。 ファーストインプレッション Immutable脳の人が設計したっぽい。 スクリプト言語っぽい構文に、型注釈。これはGoとシンタックス上の設計思想が似ているんだと思う。 基本的にImmutableな設計でありながら、オブジェクト指向を採用しており、Scalaっぽいマルチパラダイム感がある。Scalaの人は好きになりそう。 型推論のおかげで動的型付け言語触ってきた人にも抵抗がない感じになってる。推論のおかげで静的型付け言語が動的型っぽくみえるのはHaskellとかOCaml方面の雰囲気。 LLV
さきほどWWDCにて新言語 Swiftが発表されました。 The Swift Programming Language (iBooks Store) で言語ガイドが公開されていたのでザッと目を通してみました。 Objecitve-Cと比較してSwiftがイケてそうなところをパッと気になったところだけ書いていってみます。 変数/定数の型推論がある Objective-Cのように明示的に型を書かなくても型を推論してくれます。 推論で問題ないケースも多いと思うのでタイプ数がかなり減らせそうですね。 ( 変数を宣言する際はvar、定数を宣言する際はletで宣言します。 ) // 型推論 var name = "Shinji Ikari" // 変数の型は推論によりString型になる var age = 14 // 変数の型は推論によりInteger型になる let height = 141.5
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 >
有償、無償のやつがいろいろあって最近試してみたのでメモ書きを残しておいた*1。 最初にことわると、既に何かしらの言語を身に付けているプログラマー向けの記事になる。プログラミング自体の入門者は学習環境が整っているので絶対Objective-Cから入った方がいいです(個人的にはP*言語系でウェブ開発フルセット身に付けるよりか楽だと思う)。 Objective-Cを避けたい動機 未知のプログラミング言語を習得するコストがツラい Objective-Cは潰しが効かない(iOS & Macアプリ開発でしか使わないじゃん) Android版など。なるべく移植性を高くしたい Xcodeを使ってコーディングするのがいやだ。愛用しているエデイタで開発したい 開発環境が強制される。不自由で邪悪なので使ってはいけない。 とまあ人によっていろいろある 比較表 本記事でとりあげたものの簡単な比較表をテーブルにしてお
既存記事のまとめのため新しい要素があるわけではないのですが、Appleから発表されたXcode 5が正式にリリースされる前の復習ということで。 Tipsを適用する前のコード #pragma mark - Private Category @interface Sample () @property (strong) NSNumber* i; @property (strong) NSNumber* c; @property (strong) NSNumber* f; @property (strong) NSArray* array; @property (strong) NSDictionary* dictionary; @property (strong) Sample* child; @property (strong) UIColor* color; @property (assi
はじめに 本稿は Juri Pakaste 氏による Cocoa review checklist (commit fff5703)の翻訳です。他人の Objective-C のコードをレビューするとき注意する点、また普段のコーディングで心がけるべき点についてまとめられています。 なお、原文のタイトルは Cocoa review checklist となっていますが、内容が Cocoa に限らない範囲のトピックをカバーしているため、本稿のタイトルは「Objective-C の〜」としました。 誤訳の指摘や例の補足を歓迎します。 コードの見た目とコード以外の問題 不要な #import や @class 宣言を消す #import をソートする .m ファイルの中では、対応する .h ファイルの #import を最初の行に書く。空行をはさんで、ソートされた他の #import を書く。 X
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く