プログラミング
配列の指定位置に要素を挿入する //配列の指定位置に要素を挿入 var array = [0,1,2] array.insert(9, at: 0) //[9,0,1,2] array.insert(8, at: 4) //[9,0,1,2,8] 配列をソートする //配列のをソート //昇順 array = array.sorted() print(array) //[0, 1, 2…
解説 ソースコード 解説 ・過去の記事で、Firebaseからデータを取得する方法を紹介した nekokichi2yos2.hatenablog.com ・しかし、上記の方法では、取り出すデータの順番がバラバラになってしまう ・そこで、今回は順番に取り出す方法を紹介する ・データを…
完成図 解説 ソースコード 完成図 解説 ・cell.selectionTypeに用意されたプロパティ(.none, .blue, .gray)を設定するだけ ・自分好みの色に設定するなら、 UIViewを生成 UIVIewの背景色を設定 cell.selectedBackgroundViewにUIViewを代入 をするだけ ソース…
完成図 解説 ソースコード 完成図 解説 ・tableView.tableFooterView = UIView() ・tableViewのFooterを空のUIViewに設定することで、セルがなくなる仕組みなのだろう ・空のセルを消すといっても、separator(線)を消しただけなんだけどね ソースコード impo…
完成図 解説 ソースコード 完成図 解説 ・アラート内のtextFieldは複数設置可能 ・各textFieldを識別するために、それぞれにtagを設定 ・一旦、アラートのtextFieldを全て格納した配列を取得し、for文で1つずつ取り出していく ソースコード import UIKit cl…
完成図 手順 ソースコード 完成図 今回は、インジケーターを実行すると、 "更新したよ" というテキストが代入されたセルが追加される。 手順 UIRefreshControlのインスタンスを生成 色、テキスト、などのプロパティを設定 実行したい処理や関数を追加 tableV…
以前、”【Swift】セルとLabelを動的に可変させる方法”という名の記事を投稿した。 nekokichi2yos2.hatenablog.com もしチャットアプリを作るなら、Label以外にも解決すべき問題がある。 それは、アイコン、だ。 ImageViewを動的に可変させる設定を施したLabe…
LINEのようなチャットアプリを作る際、どうやってあの吹き出しを実装するかが問題。 (チャットアプリを作る際、とても苦労しました。) 動的に可変とは、LINEのメッセージみたいに、入力された内容に応じてLabelの大きさを変化させること。 つまり、その時…
下記のコードはFirebaseにデータを保存するコードである。 ↓ //データベースの参照URL let ref = Database.database().reference() //Firebaseからデータを取り出す ref.child("post").observeSingleEvent(of: .value) { (snap,error) in let snapData = sna…
手順 ソースコード 補足 手順 データを保存するための階層(参照URL)(リファレンス)を指定 保存したいデータを用意 データを保存 ソースコード //Firebaseにデータを保存する関数 func saveData_Firebase(_ username:String, _ message:String) { //データベ…
Firebaseにデータを保存するには、保存したい場所,階層を指定する必要がある。 乱数名の階層、自分で命名した階層、どんな階層でもOK。 今回は、Firebaseの階層URLを指定する際、各階層URLがどんな階層を表すのかを説明する。 データベース - post let ref =…
ある職種に就きたいなら、その職種で活躍している方の言葉や考えを知ることが大事です。 なぜなら、活躍している=その業界で生き抜くスキル,術を持っている,知っている、から。 オリンピック選手がオリンピック選手になれたのは、そのためにどんなトレーニ…
Twitter上には、現役のエンジニアやフリーランスが日々ツイートしてます。 彼らのツイートを毎日読むと、未経験が目指すべきエンジニアの理想像がなんなのかが大体わかります。 例えば、 初心者が習得すべき言語 フロントエンド業界を生きるために必要なスキ…
手順 ソースコード 注意点 手順 音源ファイルのパスを生成 音源プレイヤーを生成 do-catch文を記述 do:既に生成したプレイヤーにパスを設定したプレイヤーを設定 do:音源プレイヤー再生する catch:エラーが起こった場合の処理 ソースコード //パス let no…
今回は、久しぶりにSwiftの学習を再開した時に僕がお世話になった 「 iOSアプリ開発集中講座」 https://www.amazon.co.jp/%E3%81%9F%E3%81%A3%E3%81%9F2%E6%97%A5%E3%81%A7%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%A7%E3%81%8D%E3%82%8B-iOS%E3%82%A2%E3…
10/31,11/11の2日間、AmazonではIT・プログラミング系の技術書を出版している”インプレスR&D”の電子書籍(kindle)が50%OFFセールで値段が安くなっていた。 ちょうどこれから学ぼうとしている HTML/CSS(既に書籍で学習中) JavaScript の技術書を買おうと思っ…
TableViewのセルにはあらかじめ、セルを認識するため?の線(Separator)が表示されている。 身近な例だと、リマインダー。 ↓ でも、正直邪魔なので、消しちゃいましょう。 やり方は、 TableViewを選択 ユーティリティエリア - Separator を None に変更 ほら…
出力結果 解説 ストーリーボード ソースコード 出力結果 解説 ・UserInterfaceEnabledを使い、Labelにタップイベントを追加 ・必要なのは、①tag ②UserInterfaceEnabledの許可 ・tagが設定されていないものは、基本的にViewを認識する ・画面全体にタップイベ…
出力結果 解説 ストーリーボード ソースコード 出力結果 解説 ・UIGestureRecognizerをViewに実装し、画面タップ時の処理を実装する ・出力結果には、画面を4回タップしたので、4つの"タップされました"が表示されている ※注意 ・LabelやButtonなどのUIにで…
完成図 解説 ストーリーボード ソースコード 完成図 解説 ・前回の記事では、performSegueとprepareによる画面遷移を実装した ↓ nekokichi2yos2.hatenablog.com nekokichi2yos2.hatenablog.com ・今回は、performSegueとprepareを使わずに画面遷移を行う ・s…
完成図 ストーリーボード ソースコード 完成図 ストーリーボード ソースコード ViewController import UIKit import UserNotifications class ViewController: UIViewController { @IBOutlet weak var textField: UITextField! override func viewDidLoad() …
今週に作ったパスワード生成アプリのコードレビューをSlackのメンバーにお願いしてもらい、数々の指摘をもらったので、備忘録として書きます。 ↓ 「パスワード生成アプリ」 nekokichi2yos2.hatenablog.com ・辞書のキーを数字にすると、いちいち中身を確認し…
複数の値や配列を1度にswitch文で使用したい場合は、そのまま条件式に設定すればいい。 let dic = [100,200,300] switch (dic[0], dic[1], dic[2]) { case (1, 2, 3): print("1 2 3") case (100, 200, 300): print("100 200 300") default: print("nothing")…
TabBarとは違い、ToolBarにButtonを配置するだけでは、間隔を広げてはくれない。 そこで、 Fixed Space Flexible Space というButton間に間隔を形成するUI部品を設置する。 まずはToolBarとButtonを設置 ↓ 小さい間隔を形成 ↓ 大きい間隔を形成 ↓
完成図 解説 ストーリーボード ソースコード 完成図 解説 ・tableViewのセルにパスワードを代入し、表示する (セルの上にUILabelを設置する方法も考えたが、タップするとクリップボードにコピーされる処理を施せなかったので断念。) ・パスワード生成はパ…
解説 ソースコード 解説 ・今回は、乱数(文字)を取り出し、それを変数に代入(連結)していく処理を繰り返す ・ characters = "abcdefghijklmnopqrstuvwxyz":乱数に含める材料となる文字を文字列で用意 ・len = Int(arc4random_uniform(UInt32(characters.cou…
for文で、ループから脱出する&別の処理を実装、を実現するなら、for-else文がおすすめ。 for文内で実行できるので、for文とは別に実装するよりも手間がかからない。 dictionary = {'one':1,'second':2, 'third':3} for key, value in dictionary.items(): pr…
print()内の表示したい値の後に、end=""、を入れると、表示された値の後に好きな文字や記号を挿入できる。 改行なしでprintしたい場合、end=""で何も入れなければいい。 好きな文字を挿入する場合、end="-",end="_"など。 print(100, end="") print(200) # 1…
max:数値なら最大値、文字列ならaから遠い値 min:数値なら最大値、文字列ならaから近い値 array1 = [1,2,3,4,5,6] array2 = ['f','a','b','s','y'] array3 = ['apple','orange','number','programming','book'] string = 'magic' print(max(array1)) # 6 p…
解説 ソースコード 解説 ・WebViewがdeprecated(非推奨)となり、今後はWebKit Viewを使用することになる ・インジケーターを一から設定し、座標やスタイルも設定 ・インジケーターを起動させたり止めるには、WKNavigationDelegateでdidstart,didfinishを用意…