プログラミング

【Python】文字列を指定した文字列に変更する

e = 'I like apple' print(e.replace('like', 'love')) #I love apple print(e.replace('apple', 'orange')) #I like orange e = e.replace('like', 'love') e = e.replace('apple', 'orange') print(e) #I love orange

【Python】値を1行で入れ替える

a,b = 1,2 a,b = b,a print(a,b) # 2, 1

【Python】1行で複数の入力値を受け取る

競プロ問題では1行で複数の入力値を受け取る方法が必須。 a,b = map(int, input().split()) #1 2 c,d = map(str, input().split()) #a b print(a,b) #1 2 print(c,d) #a b

【Python】文字列の中に目的の文字があるか探索する

文字列探索の方法は、以下の3つ。 find():先頭から文字を探索 rfind():末尾から文字を探索 文字 in 文字列:Bool値で存在を通知 s = 'My name is human' print(s.find('name')) # 3 print(s.find('is')) # 8 print(s.find('human')) #11 print(s.find('a'…

【Python】リストの文字列を連結させる

リスト内に要素として格納されている全ての文字を連結させて、文字列に変換するには、 変数 = ''.join(s) で変数に連結後の文字列が代入される。 s = 'human' s = ''.join(s) print(s) # human s = 'human' s = '_'.join(s) print(s) # h_u_m_a_n

【Python】入力値をリストに変換する

‘abcdefghijklmn’をリスト(配列)で受け取るには、input()をlistで内包するだけ s = list(input()) print(s) # 入力値:abcdefghijklmn # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'] # 入力値:My name is cat # ['M', 'y', ' …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【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…