平成30年3月24日(土曜日)
投稿者「office70」のアーカイブ
SWIFT4 FROM SWIFT2 MEMO
平成30年3月24日(土曜日)
TROUBLE ETC
① SEARCHBAR – TABLEVIEW (問題は、CACHE)
② forecasterplus (COLLECTIONVIEWなので上記のトラブルは無し)
searchcontroller(swift4)
平成30年3月23日(金曜日)
以下リンク参考OK!!
但し、UISearchResultsUpdating デリゲート追加と同時に以下も追加(追加するまでerror!!)
func updateSearchResults(for searchController: UISearchController) {}
①テーブル
tableView.tableHeaderView = searchController.searchBar
②コレクション
collectionView.addSubview(searchController.searchBar)
③ナビゲーションバー
navigationItem.searchController = searchController
又は、
self.navigationItem.titleView = searchController.searchBar
[iOS 11] iOS 11で追加されたUINavigationItemのsearchControllerプロパティを使ってSearchBarをナビゲーションインターフェースに統合する
Section Header TalbeView
平成30年3月23日(金曜日)
以下により、そのままOK!!
How to add a section header to a table view
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return fetchedResultsController.sections![section].name //return "Section \(section)" }
Section Header Collection Reusable View
平成30年3月22日(木曜日)
以下二点により表示OK!!
collectioncontrollerを使用せずとしたので、パーツをドラッグし、構築。
この中での注意点は、overrideを外すこと、UICollectionReusableViewクラスを作成すること。label等のリンクをした上で、
以下を参考にして動作。
CORE DATA new Knowledge
平成30年3月22日(木曜日)
雛形master-detailを作成すると、自動的に作成されるコードの中で、
以下の部分に気付く。。。。
@objc
func insertNewObject(_ sender: Any) {
let context = self.fetchedResultsController.managedObjectContext
let newEvent = Event(context: context)
// If appropriate, configure the new managed object.
newEvent.timestamp = Date()
要は、entity名(context: context)にて、
newEvent.timestampのようにアクセス可。
いろいろと教えられる事多しなこの頃!!!!!!
上について、更にcoredata作成についても、問題無く格納できることを確認。
注意点:まれにentity名がundefinedとなるが、xcode再立ち上げにて良好となる。
論理演算子
平成30年3月22日(木曜日)
a ?? b の形で使用すると、 a が nil の場合は b を返します。
var a: String?
var b = a ?? “”
print(b) // “”
Add Data to Core Data from Array Swift 3(coredataへの格納)
平成30年3月20日(火曜日)
参考url swift4に於いて、要確認
Add Data to Core Data from Array Swift 3
switch(Control Flow)
平成30年3月20日(火曜日)
witch some value to consider { case value 1: respond to value 1 case value 2, value 3: respond to value 2 or 3 default: otherwise, do something else }
for in index
平成30年3月20日(火曜日)
for (index, country) in countryArray.enumerated() { print(index, country) }
以下参考リンク
for in文で、indexを取得する方法