俺の名はケンヤ。難事件をいくつも迷宮入りさせたニート。しかし ある時謎の組織に入社し薬を飲まされ身体が縮んで Braian になっちゃった。 reduce 配列内を足し算 reduceは配列内の合計値が計算できる var plus = { (a: Int, b: Int) -> Int in a + b } var num = [0, 1, 2, 3, 4, 5].reduce(0, plus) println(num) // 15が出力される
![[Swift]これは覚えたい!!filter、map、reduceを使うとスゴい便利だった - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/71774216481c8bf0c19eb2c56c0741e7053d0fbb/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCU3dpZnQlNUQlRTMlODElOTMlRTMlODIlOEMlRTMlODElQUYlRTglQTYlOUElRTMlODElODglRTMlODElOUYlRTMlODElODQlRUYlQkMlODElRUYlQkMlODFmaWx0ZXIlRTMlODAlODFtYXAlRTMlODAlODFyZWR1Y2UlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElODYlRTMlODElQTglRTMlODIlQjklRTMlODIlQjQlRTMlODElODQlRTQlQkUlQkYlRTUlODglQTklRTMlODElQTAlRTMlODElQTMlRTMlODElOUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWZlZDdmODNiNDA3YTliOWM5NjkyMDQ1Y2Q4YjVhZjdk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBLZW55YSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NmJlMTc5MTczNTcyY2E0YjM1YTg3ZTNjY2NjYjI5Njc%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D66878c3be280d0aa7c2d5a08734bc298)
TL;DR 複雑になりがちな構造やコードをシンプルで把握しやすいコードで記述したい MVVMを用いて責務を明確にし関心事を分離した構造にする ViewDataBindingとFRPを用いて時間とともに変化するデータやステートに伴う処理を宣言的に記述し、Viewとデータの動的な変化を相互的に連動させる 上記をSwiftとそのパラダイムを活かしたライブラリ(SwiftBond)を中心に実現する はじめに Swiftで新規のアプリを開発することになり、MVVM、FRP、ViewDataBindingの要素技術を活用して開発を行いました。設計やライブラリ選定は2015年5月に行っており実装環境はXcode6.4,Swift1.2になります。Swift2.0以上になるとSwift系ライブラリも大きくインタフェースを変更しているため、ここで紹介しているサンプルコードもそのままでは動作しないことをご留意
横幅を固定してテキストを表示したとき、改行して複数行になる場合があります。そういうときの縦幅ピクセル数を調べるにはどうしたらよいでしょう。 調べてみたところObjective-CではNSStringにsizeWithFontメソッドがあるようです。正確には、ありました。現在では廃止されています。 代替としてはNSStringのsizeWithAttributesメソッドがあるようです。しかしattributesに横幅ピクセル数をどのように設定するかわからず。さらにわかったとしてもSwiftでNSStringを使うにはキャストしたりしなければならずとてもいけてないです。 ということで、高さを知りたいだけですがUILabelオブジェクトを作ってしまうというのが一番よいのではないかという結論に至りました。 func getTextHeight(text: String) -> CGFloat {
The domain wearable44.com may be for sale. Please click here to inquire Wearable44.com Related Searches: High Speed Internet Health Insurance Online classifieds Work from Home Parental Control 10 Best Mutual Funds Cheap Air Tickets Related Searches: High Speed Internet Health Insurance Online classifieds Trademark Free Notice Privacy Policy
関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対
今開発中のPlayer!のログイン・登録画面で、こんな進捗表示をしていますが、これ実はフェイクだったりします( ´・‿・`) (Qiitaの画像サイズ制限が厳しくて粗いです。キレイなものは実際にアプリダウンロードしてご覧下さい。) 経緯 元々、この画面はこういう進捗表示では無く、単にインジケーターがクルクルするだけで、進捗状態が分からないものでした。 特にネットワークが悪いところだと、バグって固まってしまったのでは?とユーザーを不安にさせるようで、たまにそういう声を聞くことがありました。 登録フローは大事なところなので、そういうところでこれが原因で離脱してしまうと残念なので、改善が必要でした。 そこで、ネットワーク処理にもたつきつつもちゃんと正常に処理をしているということを示すために、進捗を表示することにしました。 ただ、例えば大きな画像などメディアファイルダウンロードなどならともかく、こ
本日、はてな教科書に新たにSwiftの教科書を加えました。先進的なプログラミング言語であるSwiftを学習するのに最適な教材です。 「はてな教科書」はもともと、およそ1週間でWebアプリケーション開発の基本を身につけるために、PerlやJavaScript、MySQLなどを用いて実際にWebアプリケーションを作ってみる教材として作られてきました。はてなサマーインターンシップや、はてなの入社時研修に利用されています。最初はWebアプリケーションのための教科書でしたが、はてなでは近年の多様なニーズにあわせて年々内容を更新してきました。 はてな教科書 はてなサマーインターン2015では新しく様々な内容が追加されましたが、今回はそのうちSwiftに関する部分を先行して公開します。昨日Appleが正式にリリースしたSwift 2を全面的に採用した教科書で、Appleプラットフォームアプリ開発の学習や
iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と
Match Me if you can: Swift Pattern Matching in Detail.が良記事で、ちょうど僕もSwift2のキャッチアップ中だったので、写経しながら翻訳ぽい記事を書きました。(翻訳許可もいただいています) 冒頭のイントロ的部分は飛ばして、Advanced Pattern Matchingから書きます。 様々なパターンマッチング 7つのパターンを紹介します。 switchだけではなくif・guard・forを組み合わせて表現します。 1. ワイルドカードパターン ワイルドカードパターンは、マッチした値を無視します。 let _ = fn()の_と同様です。 単に_で受けるとnilを含む全ての値にマッチしてしまうので、オプショナルの値をマッチするには、_?として区別します。 let p: String? = nil switch p { case _?:
概要 きっかけとしては swiftがっつり書いてみたい QiitaをiPhoneで閲覧したい 社内でiOSのライブラリ開発してるが、「お前実際のアプリ知らないだろ」って舐められてる感があるから「いやー、少しは知ってるお。(・ω・)」ってとこを見せるため という感じです。 アプリのことと、1.5ヶ月ぐらい開発してて思ったことをツラツラ書いていきたいと思います。 作ったアプリ「Miita」 Qiita APIを使って「Miita」というQiitaのクライアントアプリ開発しました。 https://itunes.apple.com/jp/app/miita-browsing-article-for/id1030691396 アプリ名の由来 モバイルのm iPhoneでQiita(iita)を見(m)るのm 山口のm などなど、ゴロがいいので当てて見ましたよ 機能 すべての記事、ストックした記事、
「Objective-CがSwiftに置き換わる」っていうのがピンとこないのです。 それは、Swiftそのものがオープンソースになっても、あまり変わらないと思います。 以下はすごーくざっくりした知識で書いています。 Objective-Cの歴史 そもそもObjective-Cが何なのか、あまり知られていない気がします。 超ざっくり説明すると、AppleをやめたジョブズがApple OSの「次」として、当時としては革新的なオブジェクト指向OSだったNeXTSTEPを生み出しました。NeXTSTEPの存在は後の様々なOSに影響を与えました。OSXやiOS自体、NeXTSTEPの系譜です。 NeXTSTEPはオブジェクト指向のOS・開発環境・開発言語を統合し高い生産性を実現していました。その開発言語がObjective-Cでした。NSのプレフィクスの意味が、NeXTSTEPの略称というのは、比較
Aug 31, 2015 The Swift Programming Language: Patterns Swiftのパターンは値の性質を表してマッチングを行うもので、switch文などに使われているものです。これまでは、switch文の柔軟さを知っていても背景にあるパターンという存在を知らなかったため、強力だけど気味が悪いなあと思っていました。パターンの文法がわかると気味の悪さがいくらか解消されて、気持よくパターンマッチングができるようになると思います。あとでハッシュタグを振り返ってみると同様に思っていた人が数人いたようで、発表して良かったなあと思いました。 スライドの最後の方に紹介されているUITableViewControllerの実例のような、実際にアプリ開発で使えるテクニックをもっと見つけていきたい。
Jun 30, 2015 議論したかったこと 中でも発表中に言った「Rubyで実行できるCのソースコード」を書かないようにしたいというところが一番訴えたかったところです. 結局,何も考えずにSwiftでiOS/Macのコードを書くと,「Swiftで実行できるObjective-Cのソースコード」になってしまいます. 多分にif let hoge = hoge() {}が,そこらじゅうに散らばると思いますが,結局,「Swiftっぽく」を考えないなら,Swiftで書く意味はあまりないと考えます. この考え方が間違っていないとすると,次に考えるべきは「Swiftっぽい」であり,コードを書くときにどんな風に書けばいいのかという点になると思います. Swiftっぽく書くということ 私は,reddiftという,reddit.comのAPIラッパーをちょこちょこ勉強がてら作っています. このソースコード
本連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftはAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲妻のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった
この間の関西モバイルアプリ研究会#4でLazy stored propertyについて発表しました. speakerdeck.com Lazy stored propertyについて大まかな使いドコロと,テスタブルな設計をする際にこいつを使うと依存の注入に使いやすいのではないか,というアイディアについて話しました. 簡単にまとめると,Lazy stored propertyを使えば,初めてアクセスするときまでインスタンスの生成が遅延されるので,それまでにテストの準備ができるよねということです. lazy は最もすきなキーワードなのでめっちゃオススメです! 追記 Twitterで@starfruits_jさんと@matuyujiさんにimplicitly unwrapped optionalなpropertyをlazyにしたときにnilを代入することで再度初期化処理が走ることを教えていただき
iOS 6から Social.framework が登場し、iOSアプリから簡単にツイートできるようになりました。 その方法については以前エントリを書きました。 画像やURLをFacebookやTwitter、LINEなどのSNSに共有する - Think Big Act Local 上記の記事のやり方では、ポップアップを表示→ツイートする ことしかできません。 例えば Twitter のクライアントアプリを作りたい場合、独自のUIでツイートを投稿したり、自分のタイムラインを取得したくなるかと思います。 今回はiOS端末に登録しているTwitterアカウントを使って、自由にTwitter API各種にアクセスする方法を紹介します。 (ソースコード全文はこちら) Twitter APIを使ったiOSアプリの作り方 はじめに UIの話はせず、APIコールのロジックの話を書きます Account
In this post, we explore the nature of Swift’s new error type, looking at the possibilities and restrictions for testing error handling implementations. We end with an illustrative example, and some helpful resources. How to Implement the ErrorType Protocol If we jump to the definition of the ErrorType protocol in the Swift standard library, we see that it doesn’t contain many obvious requirements
Spring ★431 手軽にアニメションが行えるライブラリです。SrotyBoardからアニメションの設定を行えるのがいいですね。 インストール Xcodeに手動でドロップします。 サンプルコード アニメションのコードはとってもシンプルです。 26種類のアニメションパターンを設定できます。 shake pop morph squeeze wobble swing flipX flipY fall squeezeLeft squeezeRight squeezeDown squeezeUp slideLeft slideRight slideDown slideUp fadeIn fadeOut fadeInLeft fadeInRight fadeInDown fadeInUp zoomIn zoomOut flash デモ デモアプリでアニメションの動きを確認できます。 design+
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く