(1) - The Basic (2) - Basic Operators、Strings and Characters (3) - Collection Types (4) - Control Flow (5) - Functions (6) - Closures、Enumerations (7) - Classes and Structures (8) - Properties (9) - Methods、Subscripts (10) - Inheritance…
![Swift カテゴリーの記事一覧 - Tumbling Dice](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
Swiftとは(Swift 入門) Swiftは、Appleが2014年のWWDCで発表したプログラミング言語です。 それまで、Appleが提供するMacやiPhone等のプラットフォーム向けにネイティブアプリを開発するには、Objective-Cという言語を使って開発しなくてはなりませんでした。Objective-CはC言語を拡張してオブジェクト指向を取り入れた非常に強力な言語ですが、C言語由来の複雑さと、他の言語とは少し毛色の違った独特なスタイルの拡張構文等のためか、特にプログラミング言語の初心者にとっては取っ付きにくく、習得にも比較的時間を要するという側面がありました。 そんな中Swiftは、なんの前触れもなく電撃的に発表されました。コンパイラ言語でありながら、まるでスクリプト言語のような見た目の印象と、実行結果がリアルタイムに可視化される実行環境のデモの様子は多くの人に期待を持って
概要 この記事でできるようになること 安定してInfo.plistの内容(ここではBuild番号)を変更できる ふつうにRun Scriptで編集するとタイミングによってすぐにアプリに反映されないことがあったりしたがそれが解消される Info.plistに差分がでないのでcommitのときに邪魔にならない なお、この方法を教えてくれた熊谷さんがこの方法に行き着いた経緯や所感がこちらに詳しくまとめられています。詳細や考え方などをきちんと知りたいかたは是非、熊谷さんの記事をご一読ください! 必要な設定 Preprocess Info.plist file でInfo.plistをビルド前に確定させる Run Scriptで${TEMP_DIR}/Preprocessed-Info.plistを編集する 以下、具体的な話をします。 経緯 これまで、 デバッグ用やArchive用のアプリのバージョ
iPhone6 と iPhone6 Plus が発売になり、本格的に iOS でも Android のように複数解像度に対応したやり方をしないといけなくなってきました。 iPhone5S までは、縦幅が伸びただけだったので、なんとなく Auto Layout を使っていても問題は表面化しづらかったのですが、 iPhone6 で横幅が伸びてしまったことで、適当に Auto Layout を使ってコーディングしていると残念なことになっているアプリが結構あります。 僕も iPhone アプリを開発しているのでこのあたりは結構気を使ってはいるんですが、いかんせん自分のやり方がほんとに正しいのか、やや疑問なところもあります。 そこで、今の自分のやり方を晒して、世の iPhone アプリ開発者の人に突っ込んでもらえればと思い記事を書くことにしました。 間違っている箇所もあると思いますので、ドンドンツッ
ユースケース CADisplayLink を実際に使う例と共にどんなクラスなのか簡単に紹介します。 例えば現在時刻を表示する場合。 画面に表示されている日時を定期的に更新する必要があります。 そのような場合に NSTimer で 0.01 秒など適当なインターバルを設定して更新、みたいなこと実装した経験ありませんか? 僕はあります。 それを解決するための表示されているビューを更新するためのイベントを取得するためのクラス、それが CADisplayLink です。 最近 facebook が OSS 化した pop や、長年 iOS の 2D ゲームフレームワークとして親しまれている cocos2d でも、もちろん使われていました。 facebook/pop cocos2d/cocos2d-iphone CADisplayLink の使い方 CADisplayLink を以下の様にしてセット
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Defaults値を保存したい。あるいは参照したい。ベタには必要な箇所で書く(あちこち)。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:@"name"];でもキー名を直接書くわけにもいかず定数定義のヘッダを作る。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:KEY_NAME];でも synchronize を忘れたりするのでいっそのこと独自クラスを作ってそちらで管理する。 [myDefaults setObject:@"hoge" forKey:KEY_NAME];でも定数定義が毎回面倒。 なによりも設定/参照のコードが長い
シンガポール在住のソフトウェア開発者です。なんだかんだでシンガも4年目突入。仕事もしくは趣味でやっていることをまとめています。 英語のブログは http://atmarkplant.com にあります こんにちは, またしばらくWeb系開発にいそしんでおりまして, iOSが触れない日々が続いています。 先日, アプリの手直しをして ようやくupdate がかかりましたので, この内容が書けるようになりました。 UIView を使って, いろいろな形を作って, それを画面に張り付けたりして, かっこいいUIをつくりたいわけですが, その中で, 円と角丸のView を作ってみました。 成果物はこちら, ColorDos というソフトです。TODOアプリです。 4ヶ国語対応, 無料ですので, 今回のコードでどんなものができるの確認したい方は是非是非 よろしくです。(やっぱり, 最近は出してもDo
CALayerを用いてUIViewを継承したクラスに影をつける方法は、下記のような感じで(CoreGraphicsで描画する方法などと比べて)わかりやすくお手軽で、質感もグッと増すので、ついつい多用したくなります。 self.layer.shadowOpacity = 0.5; self.layer.shadowRadius = 2.0; self.layer.shadowOffset = CGSizeMake(0.0, 0.0); ただ、影とか透過とかの処理はなかなか重いらしく、例えば UITableViewCell に置いた背景用画像に影をつけると、iPhone4ぐらいでも完全に体感できるぐらいに遅くなってしまいます。 で、このコードに下記の3行を付け加えてやると、体感でわかるぐらいに改善されます。 self.layer.shadowPath = [UIBezierPath bezie
Modernize your Objective-C // Speaker Deck のスライドを読んで初めて知ったので、調べてみたら便利そうだったのでそれのメモです 公式ドキュメント Key-Value Coding Programming Guide: Collection Operators 概要 コレクションのvalueForKeyPathメソッドで特殊演算子を文字列で指定することで合計や平均を取得することができます。 演算子は @ から始まります。 なんか言葉で説明するのが苦手なのでサンプルをだらだらと書いておきます。 Simple Collection Operators 例として次のような配列があるとします // 数値配列 NSArray *numbers = @[@3, @2, @5, @1, @4]; NSDateFormatter *formatter = [[NSDa
【img via Home by Robert S. Donovan】 「このシンプルさが他にはない!早く審査通れ!」「このデザインは最先端で斬新だ!早く審査通れ!」「このアプリで一攫千金を狙う!早く審査通れ!」そんな心の声が思わず口から出てしまうほどアプリ市場は盛り上がっている。Tim Cook氏は自ら7月におけるApp Storeの収益は「記録的」だったとコメントしている。 ただ、Appleのアプリ審査はそう簡単に通過しない。特に今後はアプリのユーザーレビューやブーストアプリの取り締まりを大幅に強化、音楽をダウンロードできるアプリをリジェクトするなど、これまでよりも審査基準が厳格化したと同時に明確化しているようだ。 9to5Macによると、Appleはアプリデベロッパー向けに「よくあるアプリがリジェクトされる理由」をまとめた「Common App Rejections」と題されたページ
Android, iPhone等のスマートフォン向けアプリ開発などの話題を中心に、時事ネタなどを気の向くままに書いています。 iOS 6にて導入されたAutoLayoutですが、iOS 7にて更に重要度が増し、いやがうえにも使用せざる終えなくなっている方も多いかと思います。 しかし、AutoLayoutは意外にわかりにくく、慣れが必要ではないかと思います。 そこで、備忘録を兼ねて少しAutoLayoutの基本的な記述方法とエラーの種類について記載したいと思います。 間違いがありましたならばご指摘ください。 ただし、私自身がStoryBoardを使わない派なので、ソースコードでの指定方法です(笑) しかし、ソースコードでの記述方法を知るとStoryBoardでのAutoLayout指定の理解が深まるのではないかと思います。 加えて、ソースコードでの記述方法を知れば動的にAutoLayoutの
Auto Layoutはプログラムでも実現できます。Visual Format Languageと呼ばれるものを使います。今回はその説明ですが、あらかじめ言っておくと、自分はプログラムでAuto Layoutを実装することはやめたほうがいいと思っています。最後にその理由を説明しますが、何が駄目かを知るためにもVisual Format Languageについて説明しましょう。 サンプルコードを元に説明します。 https://github.com/stack3/STVisualFormatLanguageSample まずは、おさらい。Auto LayoutはViewどうしの相対的な配置制約にもとづいてレイアウトが実現されます。このViewどうしの制約のことをConstraintと呼びます。プログラムによるAuto Layoutは、このConstraint(NSLayoutConstrai
前からやりたいと思っていたAuto Layoutのコードでの記述ですが、今日ちょっと調べてみたところ意外とすんなり行きました。こちらのブログのお陰です。ありがとうございます!これで、Xibで作成した使い回しビューを画面に配置した時もうまい具合にAuto Layout適用できます。気持ちが楽になった! せっかくなので自分の記憶を定着させるためにも簡単にまとめてみたいと思います。 簡単な説明 addConstraint: ビューにconstraintを追加する.UIViewのインスタンスメソッド。 addConstraints: ビューに複数のconstraintを配列形式で追加する。UIViewのインスタンスメソッド。 setTranslatesAutoresizingMaskIntoConstraints: AutoresizingMaskをConstraintsに変換して利用するか。NO
公式の英文資料を読んでもいまいち理解できなかった(英語が読めなかった)のでいろいろ試してみる事にしました。 Xcode6 beta5 + Playground 更新: 2015/03/06, Xcode6.3 beta3, Playground 基本的な使い方 ストアド・プロパティにwillSetとdidSetを仕掛ける事で、プロパティの変更前/後で何か処理を書く事ができます。 (※グローバル変数やローカル変数にも仕掛ける事ができます。) class Person { var age: Int = 0 { willSet { println("age willSet:\(age) -> \(newValue)") } didSet { println("age didSet :\(oldValue) -> \(age)") } } } let p = Person() p.age = 20
The page you’re looking for can’t be found.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く