2021.04.05 (Mon)
今日の勉強のテーマ
JSON
JavaScript Object Notation
の略でjavascriptオブジェクトをマークする方法ですJSON
で使用されるデータ構造は大きく2種類に分けられますkey-value
として定義することができる.類似した性質を有するオブジェクトを繰り返すリスト構造
集合構造を定義するときはカッコ、リスト構造を定義するときはカッコを使用します.
JSON
で使用されるすべてのデータフォーマットは、この2つの構造によって実現される.名前形式のJSONオブジェクトを区別[キー:値、キー:値...]複数の属性を定義するシーケンスレス集合JSON配列[オブジェクト1,オブジェクト2,オブジェクト3...]類似オブジェクトを繰り返しリストするシーケンステーブル.
集合構造はJSONオブジェクトの名前、リスト構造はJSON配列の名前を使用します
以前はXMLも多く使われていましたが、より人間的な利点として使われていました
XML
Extensible Markup Language
の略記形式は次の通りです.欠点は認識が難しく、Jsonをより多く使うことです
Codable
まず
Encoding
とDecoding
を知る必要があります!Encoding
情報の形式または形式を他の形式または形式の処理または処理方式に変換し、標準化、安全性、処理速度の向上、記憶空間の節約などの目的を達成する.
Decoding
Encoding
情報を元の情報形態に復元する作業.Codable
プロトコルは、sweet 4のバージョンからsweepインスタンスを他のデータ型に変換し、逆のロールを実行する方法を提供する.typealias Codable = Decodable & Encodable
Codable
プロトコルは、Decodable
およびEncodable
を含むCodingKey
通常のJSON形式のデータを互いにJSON形式のデータに変換するには、符号化/復号するJSONタイプの鍵がアプリケーションのカスタムプログラム名と一致していることを確認する必要があります.JSONのキー名と構造体property名が異なる場合、CodingKeys
というStringタイプの元の値を持つ名前の列挙型を内部に宣言し、CodingKey
プロトコルに従うことができます.CodingKeys
列挙型ケースの名前は、プログラムの名前と一致する必要があります.そして、JSONタイプのキーをProperty列挙型ケースの値として指定することができます.JSONタイプのキーがproperty名と一致している場合は、値を付ける必要はありません.
Table View
簡単に言えば、Table Viewは2人の秘書(
Data Source
、Delegate
)のボスです!DataSource
の場合func tableView(UITableView, numberOfRowsInSection: Int) -> Int
func tableView(UITableView, cellForRowAt: IndexPath) -> UITableViewCell
要求Delegate
の場合「学習活動」(UItableView)の問題
初めてTable Viewを見て、スクロール中にアラートをトリガーするセルを選択した場合、Table View、Table View Delegate、Table View Data Source、Cell Reuse Queue...何が起こったのか見てみましょう!
ユーザー:アプリケーションを開く!!~
Table View->Table View Datasource:表示するセクションはいくつありますか?
Table View->Table View Datasource:Section 0はどのくらいのRowを表示しますか?
... 中略.
Table View->Table View Datasource:Section 9はどのくらいのRowを表示する必要がありますか?
Table View->Table View Datasource:(0,0)IndexPathのセル!!
Table ViewDatasource->Cell Reuse Queue:(0,0)IndexPathに表示するセルは、Cell Reuse Identifierのセルを指定してください.
Cell Reuse Queue→Table View Data Source:Cell Reuse IdentifierのCellに待機中のCellがないので、新しいCellを作成します
Table ViewDatasource->Cell Reuse Queue:(0,1)IndexPathに表示するセルは、Cell Reuse Identifierに対応するセルを提供してください!
Cell Reuse Queue→Table View Data Source:Cell Reuse IdentifierのCellに待機中のCellがないので、新しいCellを作成します
Table ViewDatasource->Cell Reuse Queue:(0,2)IndexPathに表示するセルは、Cell Reuse Identifierのセルを指定してください.
Cell Reuse Queue→Table View Data Source:Cell Reuse IdentifierのCellに待機中のCellがないので、新しいCellを作成します
User:下にスクロール~
Table View->Table Viewデータソース:(1,0)IndexPathが表示するセルは、Cell Reuse Identifierに対応するセルを指定してください
Cell Reuse Queue->Table Viewデータソース:Cell Reuse Identifierに対応するCellに待機中のCellがあります.あげましょう.
...中略.
Table View->Table Viewデータソース:(9,0)IndexPathが表示するセルは、Cell Reuse Identifierに対応するセルを指定してください
Cell Reuse Queue->Table Viewデータソース:Cell Reuse Identifierに対応するCellに待機中のCellがあります.あげましょう.
Userの上までスクロールするには~
Table View->Table Viewデータソース:(5,1)IndexPathが表示するセルは、Cell Reuse Identifierに対応するセルを指定してください
Cell Reuse Queue->Table Viewデータソース:Cell Reuse Identifierに対応するCellに待機中のCellがあります.あげましょう.
ユーザー:5、1点タッチ!
Table View->Table View Delegate:ユーザーは5,1のrowを選択しました!
Table View Delegate:複数表示するには
Reference
この問題について(2021.04.05 (Mon)), 我々は、より多くの情報をここで見つけました https://velog.io/@leeyoungwoozz/TIL-2021.04.05-Monテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol