Ryosei Shinoki のアーカイブ

CoreDataからデータをReadする

2016年3月11日

CoreDataのラッパーMagical RecordのReadのメソッドであまり詳しくネットには乗っていなかったので、掲載 findFirstByAttributeの使い方 ``` エンティティ.findFirstByAttribute(カラム名, withValue: 一致する値, inContext:localContext){ block} ``` のように使います また、CoreDataまわりでよくわからなかったところはこちら
続きを読む

ViewControllerの肥大化問題

2016年3月10日

ViewControllerファイルの肥大化により、コードがかなり読みにくくなっている。 MVCまたはMVVMモデルの重要性を思い知った 以下、コードの分割に役立ちそうなサイト [さらに上を目指すための iOS アプリ設計](http://www.slideshare.net/taketo1024/ios-48549753) [ViewControllerを肥大化させないためのMVC構成案](http://qiita.com/fov397/items/
続きを読む

Magical Record ver2.3.2の変更点

2016年3月4日

Magical Recordを2.3.0から2.3.2へ変更した所、まずBridging-Headerで ``` #import ``` でエラーとなった。 そして、 ``` findFirstByAscending -> MR_findFirstByAscending ``` という変更や ``` defaultContext() -> MR_defaultContext ``` などが見られた
続きを読む

Failed to update auto layout status: Failed to load designables from path (null)

2016年3月3日

突然Xcodeに Failed to update auto layout status: Failed to load designables from path (null) というエラーが出てきました。 [IB Designables: Failed to update auto layout status: Failed to load designables from path (null)](http://stackoverflow.com/questi
続きを読む

Git git cloneでremote: Repository not foundが出たら

2016年3月3日

いつもどおり ``` git clone https://hogehoge ``` で、クローンしようとしたら、 ``` remote: Repository not found. fatal: repository 'https://github.com/aipocom/message-ios.git/' not found ``` のエラーメッセージが!! リモートレポジトリは絶対ある! じゃあsshなら? ...結局同じエ
続きを読む

[Swift]StringExtension

2016年2月19日

``` func explode(separator: Character) -> [String] { let subSequneceArray = self.characters.split { (element: Character) -> Bool in return element == separator } var stringArray: [String]!
続きを読む

[Swift2]SecItemCopyMatchingの引数が変わった

2016年2月18日

Security FrameworkのSecItemCopyMatchingの引数が変わり、かなりはまったので、メモ Swift1では ``` var result: Unmanaged? var status: OSStatus = SecItemCopyMatching(query as CFDictionaryRef, &result) ``` このように書けていましたが、第2引数がUnsafeMutablePointerをとるようになったのと、
続きを読む

[Swift]El Capitanでcocoapodsをインストールできない

2016年2月12日

iPhoneアプリを開発するときに、よく使う非常に便利な[Cocoapods](https://cocoapods.org/)をインストールするためのコマンドは以下ですが、El Capitanだとこれではインストールできないことがあります。 ``` sudo gem install cocoapods ``` そこで使うのが、 ``` sudo gem install -n /usr/local/bin cocoapods ``` これで、指定
続きを読む

XcodeのReplaceを使って一気にコードを書き換える

2016年1月29日

Xcodeをcommand⌘+Fで検索を書けられますが、検索バーの左にあるFindという文字をReplaceに変えます。 すると、入力バーがもうひとつ出てきます。 これで、上に書いた文字を下に書いた文字で置き換えていくことができます。 また、置き換えないということもできないので、Swift2への移行などで、わかりきった構文を書き換えたい時や変数名を変えた時などにオススメです。
続きを読む

[Swift] Initializer for conditional binding のエラーを直す

2016年1月22日

Initializer for conditional binding must have Optional type, not 'データ型' というエラーメッセージが出ることがあります このメッセージが出た場合 変数または定数にエラーメッセージで出たデータ型をきちんと宣言してあげましょう ``` var hoge: データ型 = piyopiyo ```
続きを読む

[Swift]findではなくindexOfを使う

2016年1月22日

今までSwift1では配列のインデックスを得るために ``` find(array, 値) ``` という構文を使っていました。 しかし、Swift2からは ``` array.indexOf(値) ``` というように変更されているみたいです
続きを読む

Xcode6系と7系の共存問題

2016年1月21日

iOSのバージョンアップに伴い、Xcodeのバージョンを上げる必要があるが、今までのバージョンのXcodeでコードのバグ直しなどを行いたいということがあります。 そのときに行うのが、Mac内に複数のXcodeを共存・同居させて並行で開発を続ける形です。 そのやり方はこちらです [Xcodeの6系と7系の複数バージョンを共存させる](http://hacknote.jp/archives/14577/) ただ注意しないといけないことが何点かあります。 まず旧バ
続きを読む

[Swift]Xcode Error exit code 11

2016年1月21日

Xcode 6.4とXcode 7を共存させようとしたところ、Xcode6.4で exit code 11というエラーが出たのですが、Cleanすることによって直すことができます。 また、同じようにexit code 11で治らない場合は Library/Developer/Xcode/DerivedData/ の直下にある "そのアプリ名"-"ランダムな文字列"という形で存在しているディレクトリ から ``` rm -rf "消したいもの" ```
続きを読む

Xcodeのコンソールを使って対話的にコマンドを実行する

2015年12月11日

Xcodeのコンソールは今までNSLogやprintを使って変数の値などを表示するためだけのスペースだと思っていましたが、chromeのコンソールにjavascriptを打てばjavascriptが実行されるようにXcodeでもコンソールにコマンドを打つことで対話的にアプリ内の状態を知ることができそうです。 今回私が覚えてたのは、"po"だけですが、、、 これを使えばデバッグが楽になるかもしれません 参考WEB http://www.spiritek.co
続きを読む

Gitのブランチを切り替える

2015年12月10日

git checkout -b  で-bをつけることによって新しいブランチを作成してそのブランチに切り替えることを一度にできる git checkout -b 参考WEB https://www.atlassian.com/ja/git/tutorial/git-branches#!checkout
続きを読む

Chromeでブレークポイントを設けて効率のよいコーディングを

2015年12月3日

Google Chromeで要素を検証するを選択するときに、Sourceが選べ、そこでブレークポイントをつけることができるので、それを使って挙動を確認することで、効率よくなにが思っている値と違うか確認できます。 もっとChromeを使いこなす必要がありそうです。
続きを読む

JavascriptでCookieから取得を行う

2015年11月27日

引数でCookieから取得したいものの名前をとり、戻り値で取得したいものがかえってきます。 今回はroomのidを取得したいので、return room_idとしました。 ``` function(cookieName) { var allCookies = document.cookie; if (allCookies.indexOf(cookieName) != -1) { var number = allCookies.indexOf(cooki
続きを読む

JavascriptでCookieに保存&保存の確認方法

2015年11月26日

JavaScriptでのCookieへのCRUDのC(Create)は以下のようにかきます ``` function(roomId){ //cookieNameの値の"lastRoomId"はcookieの保存されている変数の名前となります var cookieName = "lastRoomId"; var cookieValue = cookieName + "=" + roomId + ";"; document.cookie = cook
続きを読む

Aipoのjavascriptファイルの構造

2015年11月20日

メッセージ機能で、 javascriptはすべてmessage.jsにかかれていますが、それをどう画面に適応しているか。 vmファイルにmassage.jsのどの関数を呼び出すかをonclickなどで書いています。
続きを読む

Cocoapodのバージョン管理

2015年11月19日

Cocoapodのバージョンを管理するときにPodfileをどう書くかまとめます バージョンを指定したい場合 ``` pod 'hogehoge', '1.0' //バージョンを1.0に固定する ``` バージョンをあるバージョンより新しいものを使いたい時 ``` pod 'hogehoge', '>1.0' //1.0より新しいバージョン pod 'hogehoge', '>=1.0' //1.0以上のバージョン pod 'hogehog
続きを読む