//swift3 let str = String("a\nb\r".characters.filter { !"\n\r".characters.contains($0) }) //swift4以降 let str = String("a\nb\r".filter { !"\n\r".contains($0) }) => str: String = "ab"
概要 Auto Layoutのみを使い、できるだけ少ないコード量でページングUIを実装します(ここで言うページングUIとは、起動時のチュートリアル画面や写真のプレビュー画面のような横スライドのやつです)。また、色々な画面サイズにも適応している状態を目指します。 今回は、表示させるデータの特性によってUIScrollViewやUIPageViewControllerを使い分けてみました。幾つかの方法を試した結果から、現時点でこのやり方が一番楽そうと思ったものを独断と偏見で挙げていきます。 実装パターンは、以下の3つに分類しました。 ページングされるViewの数が少なく、一定の場合 (IBでUIScrollViewと各ページのViewを配置するのみ) ページングされるViewの数が少なく、上限が決まっていて可変の場合 (1.に加えてコード上で制約を操作する) ページングされるViewの数が多く
Xcodeのバージョン:7.1 Swiftのバージョン:2.1 ユーザーが使用している端末のデータを取得したいときがあります。 キャリア名とかOSのバージョンとかデバイス名とか。。 ある程度の情報は、以下の方法で簡単に取得できます。 IPアドレスだけ特殊で、 Bridging Header(ブリッジングヘッダー)を使わなければ取得できないようです。 ブリッジングヘッダー作成の方法はこちらを参考にしました。 追加したブリッジングヘッダー(.hファイル)に #include <ifaddrs.h> を追加後、 で取得できます。 ちなみに、フレームワークプロジェクト(Cocoa Touch framework)だと、 ブリッジングヘッダーは使えないそうです。。 詳解 Swift 改訂版 作者: 荻原剛志 出版社/メーカー: SBクリエイティブ 発売日: 2015/12/25 メディア: 単行本
※注意 以下の話はSpringAOP3.1.1で確認しています。 SpringAOPで処理が挟み込まれたbeanは実体がProxyクラスなので、beanを使ってメタプログラミングをしたい場合、ちょっと困ることがありました。 困ること例 例えばCommandパターンを利用した以下のようなCommandのComponentがあったとします。 public interface Data { void readData(DataSource source); } public interface Command<T extends Data> { void execute(T data); } @Component public class SampleCommand implements Command<SampleData> { @Override public void execute(Sa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く