読者です 読者をやめる 読者になる 読者になる

今日の進捗

今日の進捗

・昨日動かなかったmap関数が動いた
・jsのgetter, setter, mapについて賢くなった
この2つ。

map関数が動かなかったのは、data.mapのdata関数が配列を返していなかった(オブジェクトを返していた)から。typeofで型を調べると、配列の場合はobjectが返るので、配列かどうかの型を調べるときはtypeofではなくconsole.log(配列名 instanceof Array)で調べるとtrueかfalseで確認できる。

【メモ】
・getterはプロパティを参照したとき、setterは値を変更するときに呼び出される。
・mapのコールバック関数の引数には、参照している配列の各要素が1つずつ入る。

codepen.io

解決しなかったこと

・昨日のWordpressのAdvanced Custom Fieldsで改行できない問題
Advanced Custom Fieldsの設定をいじってもbrタグを入れても改行できない。

明日の進捗目標

・改行問題の解決
・styleの修正

改行問題が解決しないとstyleの修正ができないので何とかしたい。

今日の進捗

毎日進捗している実感がないので、ここにその日の進捗状況を書くことにする。

今日の進捗

Wordpressプラグインを3つ導入した。
・Advanced Custom Fields
・ACF to REST API
・WP REST API

www.tam-tam.co.jp

上記3つのプラグインは知っていたけども今まで使ってなくて、やっとWordpressプラグインを使うレベルまできたという感じ。Advanced Custom Fieldsの使い方は分かったけれど、ACF to REST APIとWP REST APIについては全く理解できてない状態。

解決しなかったこと

・acfで取得した記事をreturnするときにmap関数を使いたいんだけども動かない。
・Advanced Custom Fieldsのカスタムフィールドで文章を改行したときにちゃんと改行されない、またはbrタグが表示される。
↓これでもダメ。

www.machiiro.jp

明日の進捗目標

・ちゃんと改行して表示されるようにする。
・map関数のエラーを解決する。

UITableViewのCellの高さを可変にするメモ_φ(・×・ )

Twitterのような、ツイート(文章)ごとに高さが変わるセルを作る。
UITableViewの使い方と高さを可変にする方法は下記の記事参照。

yuu.1000quu.com

www.swift-study.com

環境

Swift3
Xcode 8.3.1

コード

// ViewController.swift


import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    
    @IBOutlet weak var tableView: UITableView!
    
    var rows = [
        "責任者に問いただす必要がある。責任者はどこか。",
        "我々の大方の苦悩は、あり得べき別の人生を夢想することから始まる。自分の可能性という当てにならないものに望みを託すことが諸悪の根元だ。今ここにある君以外、ほかの何者にもなれない自分を認めなくてはいけない。",
        "「僕なりの愛ですわい」",
        "大きなカステラを一人で切り分けて食べるというのは孤独の極地ですからね、人恋しさをしみじみ味わってほしくて",
        "「だって寂しいんだもの。それに夕風が冷たいの」",
        "「我々は運命の黒い糸で結ばれているというわけです」",
        "慰めるわけじゃないけど、あなたはどんな道を選んでも僕に会っていたと思う。直感的に分かります。いずれにしても、僕は全力を尽くしてあなたを駄目にする。運命に抗ってもしょうがないですよ",
        "猫ラーメンは、猫から出汁を取っているという噂の屋台ラーメンであり、真偽はともかくとして、その味は無類である。",
        "不毛に過ぎた二年の遅れをがつがつとみっともなく取り返そうとしているような気分になってきた。そんないじましい己の姿は私の美学に反する。したがって私は潔く勉強をあきらめた。こういった潔さには自信がある。つまりは紳士だということだ。",
        "成就した恋ほど語るに値しないものはない。",
    ]
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //見積もり高さ
        tableView.estimatedRowHeight = 20
        
        //自動設定
        tableView.rowHeight = UITableViewAutomaticDimension
    }
    
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    
    
    // セルの個数を指定するデリゲートメソッド(必須)
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return rows.count
    }
    
    
    // セルに値を設定するデータソースメソッド(必須)
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        // セルを取得する(セルをオブジェクト化)
        let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath as IndexPath)
        
        // セルに表示する値を設定する
        cell.textLabel!.text = rows[indexPath.row]
        
        // 0に設定
        cell.textLabel!.numberOfLines = 0
        
        // 折り返しアリに設定
        cell.textLabel!.lineBreakMode = NSLineBreakMode.byWordWrapping
        
        return cell
    }
    
    // セルが選択された時に呼ばれるデリゲートメソッド
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("セル番号:\(indexPath.row) セルの内容:\(rows[indexPath.row])")
    }
}

Storyboard

f:id:unecocc:20170424150852p:plain

結果

f:id:unecocc:20170424150723p:plain