【Xcode】@IBActionで紐付けする時にsenderを変更する方法

UISwitchのON/OFFを切り替えるには、@IBActionのsenderをUISwitchにしなければならない。 しかし、普通に紐付けすると、senderがAnyになってしまい、手作業でsenderをUISwitchに書き換えなければならない。 だが、またまたコミュニティでそのことを質問した…

【Swift】ターミナルでコードを即座に実行する方法

Xcodeで記述したコードが正しく実装できるかの動作テストは、 XCTest シミュレータ 実機 でなければ不可能。 しかし、ただ”コードの動作テストだけ"なら、ターミナルで実行することができる。 ターミナル上で、 $ swift と打てば、コマンドシェル?(対話型…

【Swift】senderを駆使した値渡し遷移

以下の記事で、値を渡しながら遷移する方法を述べた。 ↓ nekokichi2yos2.hatenablog.com しかし、その後にTwitterで違う方法で実装できる方法を返信ツイートで教えてもらったので、残す。 解説 ・普通なら、渡す用の変数に渡したい値を渡し、その変数をprepa…

【Swift】UserDefaultsに値を保存・取り出す方法

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・UserDefaults:アプリ内に値を保存する ・UserDefaults.standard.set(保存したい値, forKey:"好きなキー"):値を保存 ・UserDefaults.standard.object(forKey:"好きなキー" ):setで設定した同じキ…

【Swift】画面遷移しながら値を渡す方法

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・performSegue:指定したIdentifierのSegue(遷移)を実行する ・prepare:遷移する際に実行したいコードを実行する ・実際に遷移先の変数やメソッドなどに値を渡すコードは、prepare内で実装する ・…

【yukicoder】No.692 square1001 and Permutation 1

使用言語 問題文 解法プロセス 回答 使用言語 Python 3 問題文 No.692 square1001 and Permutation 1 - yukicoder 解法プロセス 1、最後のPermutaionを食べた方の負け2、Petrが先手、square1001が後攻3、1人1個以上食べて良い→100個,1000個食べても良い4…

【yukicoder】No.700 LOVE

使用言語 問題文 解法プロセス 回答 使用言語 Python 3 問題文 No.700 LOVE - yukicoder 解法プロセス 1、入力した数字の回数だけリストに入力2、上から順に1行の中に’LOVE’の存在を調べればいい 回答 n1,n2 = map(int, input().split()) l = [input() for…

【yukicoder】No.729 文字swap

使用言語 問題文 解法プロセス 回答 使用言語 Python 3 問題文 No.729 文字swap - yukicoder 解法プロセス 1、入力した文字列をリストに分割2、入れ替えたい要素(文字)を逆にする 回答 s = list(input()) i,j = map(int, input().split()) s[i],s[j] = s[j…

【yukicoder】No.725 木は明らかに森である

使用言語 問題文 解法プロセス 回答 使用言語 Python 3 問題文 No.725 木は明らかに森である - yukicoder 解法プロセス 1、入力値の中に’treeone’があるかを調べる2、もしあれば、’forest’に置き換える3、メソッド、replace(変更前, 変更後)を使用 回答 s…

【yukicoder】No.739 大事なことなので2回言います

使用言語 問題文 解法プロセス 回答 使用言語 Python 3 問題文 No.739 大事なことなので2度言います - yukicoder 解法プロセス 1、2つの同じ文字列が連続してるなら、文字数は偶数になるはず2、なので、入力値の文字数が2で割り切れるかを調べる3、同じ…

【Swift】TableViewでセルの伸び縮みを再現してみた

完成図 解説 ストーリーボード ソースコード1 ソースコード2 完成図 解説 ・セルをタップすると、そのセルが縦に拡大する(伸びる) ・1番下のセルを押すと、なぜかそれよりも下の全てのセルも伸び縮みしてしまう (原因はわかりません。) ・セルをタップし…

【Swift】UIViewで左右からスライドを出現させる

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・3つのStoryBoardを用いる ・色付けしたUILabelをスライドにした ・ContainerViewでViewの描画領域を確保する ・"Left"または"Right"のボタンを押すと、それぞれに対応するStoryBoardのUIViewContr…

【Swift】TableViewを使ったパララックスアニメーション

完成図 解説 ストーリーボード ソースコード ソースコード2 完成図 解説 ※注意 ・ソースコードが複雑で、僕もよくわかってない ・”パララックス”という視覚効果 ↓参考動画 youtu.be ・セルをスクロールすると、セル内のImageViewがパララックスの視覚効果を…

【Swift】MPMusicPlayerで音楽プレイヤーを作る

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・プロセス 起動直後にライブラリから曲を選択させられる 選択して、左上の完了を押すと、プレイヤー画面へと移行 再生/停止ボタンを押せば、再生/停止ができる 中央のバー(ScrubBar)で好きな再生位…

【Swift】ImageViewの使い方

完成図 解説 ストーリーボード ソースコード 完成図 解説 ・プロセス 1つ目の画像が表示される 画面をタップ (4つ目まで繰り返し) 4つ目の画像をタップ (最初に戻る) ・viewDidLoad()する前にimage_arrayに画像を入れたかったが、エラーが出たので断念。…

【Swift,Xcode】Cannot use instance member...というエラーの対処法

備忘録として。 こういうエラーに遭遇した。 ↓ teratail.com ja.stackoverflow.com

【Swift】UIAlertControllerの使い方

完成図 解説 ストーリーボード ソースコード 完成図 ↓Alert ↓ActionSheet 解説 ・プロセス AlertController(Alertの外見)を生成 AlertAction(Alertの中身)を生成 present(Alertを発信)する ・Alert:中央に表示 ・ActionSheet:下に表示 ・title:見出…

【Swift】UserNotification(ローカル通知)の使い方

完成図 解説 ストーリーボード ソースコード 完成図 ↓destination == "Ken"の時 解説 ※注意点 ・今回はバックグラウンドでの実装 ・”送信する”を押して、すぐにアプリを閉じないと、ローカル通知が発動しない ・発動すれば、画面上部 & 通知センターに表示さ…

【Swift】CollectionViewのページめくりアニメーション

完成図 解説 ストーリーボード ソースコード 完成図 ↓1度目のスワイプ ↓2度目のスワイプ 解説 ※注意点 ・ページめくりを実装するには、 Scroll DirectionをHorizontalに指定 Scrolling - Horizontal Indicatorにチェック MidSpacingの値を0に指定 する必要が…

【Swift】PickerView&DatePickerの使い方

完成図 解説 ストーリーボード ソースコード 完成図 ↓”現在時刻”を押した場合 ↓”10分後へ”を押した場合 解説 「DatePicker」 ・日時を扱うなら絶対にこれ ・NSDate()や正確な日時を指定するのに必要な処理を省略できる ・現在時刻をdatePicker.date = Date()…

【プログラミング】キーボードの入力位置を変えずにdeleteする

普通にdeleteキーを押せば、 ↓ 左に入力位置が移動し、左の文字を消していく。 しかし、 入力位置を移動せず 右の文字を消していく が可能だとしたら? 方法は、delete + fn、キーの同時押し。 ↓ 右側の文字を消すのにわざわざ→キーを連打する人はおさらばで…

【Xcode】UserDefaultsでログイン機能 - 本格版

前回の記事で、UserDefaultsで簡易的なログイン機能を実装する方法を紹介しました。 しかし、ユーザー名に関係なく次回以降は無条件でログインできてしまう欠点がありました。 今回は、初回時に入力したユーザー名を入力しない限りログインできない仕組みを…

【Swift】tableViewでセルを表示する

完成画面 必要なプロセス プロセス - StoryBoard編 プロセス - ViewContoller編 ソースコード ※補足:セル上にテキストを表示させる方法について 完成画面 必要なプロセス プロセス - StoryBoard編 tableView、tableViewCellを配置 tableViewのIdentifierを…

【teratail】Firebaseに保存されてるデータの受け取り方

自分でFirebaseと連携する機能を実装した際、思い通りに動作しなかったので、復習として書きます。 質問 実現したいこと 困っていること 解決方法 解決後のコード 質問 teratail.com 実現したいこと Firebaseに保存した全てのデータをタイムライン形式でセル…

【Swift】UserDefaultsでログイン機能 - 簡易版

難しい機能を使わず、UserDefaultsで簡単にログイン機能を実装します。 ソースコード 初回ログイン時 次回ログインを省略 デメリット まとめ ソースコード 初回ログイン時 //StoryBoardに設置したUIButton @IBAction func login(_ sender: Any) { //もしtext…

【Xcode】Firebase関連のコードを消すと、Thread1 signal SIGBRTが消えた

新しくツイッター風のアプリを作ってて、初期画面が動作するからシミュレータを起動したら、Appdelegateの行でおなじみの”Thread1 signal SIGBRT”エラーが出ました。 そこで僕が行ったのは、 UI部品のキャッシュが残ってないか 初期画面で実行できない処理は…

【Swift】udemyでFirebaseを習ったので復習

Swiftで重要なFirebaseをudemyで学んだので、備忘録として書き記す。 Firebaseを使用する準備 AppDelegateにFirebaseのimport文と使用許可?のコードを書く。 ターミナルでpod関連をインストール データベースからデータを取得する流れ データベースの参照UR…

【Xcode】XCTestについて

XCTest(テスト)は、ViewController.swiftなどに書かれている関数をテストできる手法。 例えば、シミュレータや実機でアプリを起動しても、メソッドや関数がきちんと動作してるかは不明。 しかし、アプリではなく、関数という細部のテストをXCTestは可能に…

【Xcode】HomeBrewでcarthage updateを実行する際の注意点

僕と同じ二の舞を踏む人を減らすために、Homebrewを利用したcarthage経由のファイルをダウンロードする際の注意点を書いていきます。 いつエラーが起こったのか Cartfileのフォーマットは”rtf”ではなく”標準テキスト(プレーンテキスト)”にせよ ”xcrun: error…

【プログラミング】8/14~10/2まで行ってきたこと

現状を確認するため、1度学習してきたことを簡単にまとめて見ました。 Swift Swift学習の今後 Python Python学習の今後 まとめ Swift ・Progateを1周 ・”iOSアプリ開発集中講座”を2周 https://www.amazon.co.jp/たった2日でマスターできる-iOSアプリ開発集中…