UIBarButtonにボタンを追加して複数個表示する
この記事はWordPressの投稿を文字だけ転記したものです 画像付きの完全版の記事は下記ページです [ http://ift.tt/2qeiRcH]
課題
UIBarButtonにボタンを複数個表示したい。 → すでに1つボタンは表示してあるため、できれば新しくもう一つ、追加する形にしたい
解決策
UIBarButtonItem *rightButton2 = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStylePlain target:self action:@selector(tapAction:)];
self.navigationItem.rightBarButtonItems = [self.navigationItem.rightBarButtonItems arrayByAddingObjectsFromArray:@[rightButton2]];
self.navigationItem.~~BarButtonItems は NSArray<UIBarButtonItem>のため、 1.追加したいボタンを配列にして、 2.すでに追加されているボタンたちの配列に連結し、 3.その配列を self.navigationItem.**BarButtonItems に代入する。
参考
Objective-Cと戦うブログ: 配列同士を連結する
【iPhoneアプリ開発】UINavigationBarに複数のUIBarButtonItemを配置する方法
すべてのcontrollerに処理を追加
この記事はWordPressの投稿を文字だけ転記したものです 画像付きの完全版の記事は下記ページです [ http://ift.tt/2qyHDqK]
結論としては断念したので、試行錯誤メモです。
課題
すべてのcontrollerに処理を追加したい。 例えば、Controller表示前にログを出したい、とか。 (私は、viewWillAppear前にFirebaseの値を確認したかった。)
方法
UIViewControllerをカテゴリ拡張してメソッドをオーバーライドする
UIViewController+Addition.m (ファイル名に+、初めて使った)
@implementation UIViewController (Addition)
-(void)viewWillAppear:(BOOL)animated{ // なんやかんや }
-(void)viewDidLayoutSubviews{ // なんやかんや }
// ※ 参考 : UIViewControllerのライフサイクル
調査
Warning
“category is implementing a method which will also be implemented by its primary class”
というWarningがでる。 消したい場合は下記参考。(試してない)
カテゴリで既存メソッドを拡張しようとすると表示されるwarningの対応
動作
viewWillAppear
動くことは動くが、オーバーライドすることで元の処理が呼ばれなくなってしまうため、何が起こるかわからない。 (ちょっと触った感じは普通に動いていたけれど)
viewWillLayoutSubviews / viewDidLayoutSubviews
Your view controller can override this method to make changes after the view lays out its subviews. The default implementation of this method does nothing.
※ 引用 : viewDidLayoutSubviews – UIViewController | Apple Developer Documentation とあるように、オーバーライド可能なメソッド。 しかし、関数名の通り「Controllerが表示されるごと」ではなく、「SubViewが表示されるごと」に呼ばれるので、とても鬱陶しい。
というわけで、今回は毎回処理を追加することは諦めて、アプリ起動時のみ、処理を入れるように仕様の方を変更しました。
膀胱炎が治った
この記事はWordPressの投稿を文字だけ転記したものです 画像付きの完全版の記事は下記ページです [ http://ift.tt/2qvHORW]
1ヶ月くらいかかり、膀胱炎がやっと終息した。
お世話になった腎仙散は計3箱も購入した。
膀胱炎が悪化し、出血したときにはじめて腎仙散を使用した。
【第2類医薬品】腎仙散 12包
このときは3袋×4日分を購入したのだが、1袋飲んだだけで出血は止まり、尿意もだいぶ収まった。 ちょっと収まれば日常生活に支障がなかったために、継続して飲むことをせず、我慢できないなぁ、というときだけ飲んでいた。
しかしそれだといっこうに完治せず、(箱に、しっかりと治すために、よくなったとしても薬は全部飲みきってください、と書いてあった) いい加減治そう、ということで、7日分の箱を購入した。
【第2類医薬品】腎仙散 21包
町中のドラッグストアではどこも4日分しか売っていなかったので、マツキヨオンラインで買った。
のだが、日頃薬を飲む習慣のない私は継続して薬を飲むことができず、1週間以上かけて21袋を飲みきったのに、治らなかった。 いよいよ病院にいかなきゃか、とも思ったのだが、今度こそ!これで治らなかったら病院に行くぞ!という心意気で、7日分をもう一箱購入した。
今度は飲み忘れないように、1日分の薬をスマホのポケットに入れて持ち歩いた。(かさばった)
そしてついに、
なおったー! 我慢できない尿意も、血尿も、白濁した尿も、全て綺麗さっぱり収まった。
トイレに縛られないとこんなにも素晴らしい毎日を過ごせるのか!と感動した(流石に大げさ) これからは我慢せずにトイレに行き、ちゃんと清潔に過ごそう、と心に誓った。
健康が一番!
万が一膀胱炎になってしまったときは、早めに腎仙散をしっかりと飲むとよいよ(まわしもの?)
金フレを買ったら1年で520→755に上がった話
何があったのかさっぱりわかりませんが、TOEICの点数が、1年で200点以上あがりました。
わたしも、上司も、みんなびっくり。
始めに一応念のため言っておくと、大学は普通の文系で、留学経験やら、それ以前に渡航経験もなく、 洋楽も聞かないし洋画も見ない、日本大好きな純日本人です。 なぜこんなにもスコアがぐっと上がったのか、さっぱり原因はわかりません。
以下、まったく参考にならない、私の勉強記です。 (要約すると、「金フレとりあえずサンキュー!」です。)
TOEIC受験開始
会社で600点以上とらないと将来(といっても20年くらい先)昇格できないこともあり、 2017年春に600点獲得することを目標に、2015年秋からTOEICの受験を始めました。 (※勉強を始めたわけではない)
2011年、2015年に受験したIPテストはいずれも確か525点くらいでした。 600点獲得と言う目標をたて、2015年秋~2016年6月までで計3回ほど受験しましたが、そこでも安定的に525点前後を獲得し続けました。
Readingがすごく上がったかと思ったらListeningが急降下している不安定なスコア。
真面目に受験開始
【準備】本を購入
新TOEIC TEST 出る単特急 金のフレーズ
何回か受験したものの、一向にスコアは上がらず(勉強していないので当たり前) そろそろ勉強するか、と、2016年9月の受験を前に、金フレ(新TOEIC TEST 出る単特急 金のフレーズ/旧版)を購入。 (おすすめな使い方は様々なwebサイトで紹介されているので割愛)
したものの、買って満足してし、大した勉強もせず、以下のことだけやりました。
1ページ目だけを1回だけ読んだ
音源を、600点レベル/400語分だけ三回ほどきいた
受験前夜に音源をかけっぱなしにし、本を枕元に置いて、本と共に寝た
今思えば、前夜英語をかけっぱなしにしたことで、なんかちょっと頭が英語モードになってた、のかな…?とも思ったり…。 よくわからないけれど睡眠学習的な…?
【当日】受験方法を変更
大した勉強できなかったなあ、と口先だけ反省しつつ、今からできることをやっとくか、ということで、当日は以下のことを実施しました。
受験前にちゃんとご飯を食べ、チョコレートも食べた
Readingでは問題文をちゃんと読むようにした ※ 今までは、(特にPart7で、)問題文・選択肢・挿絵・パッと目に入った単語から本文を推測し、勝手に妄想したストーリーで回答していました。 そのため、時間が足りないという感想を多く聞くTOEICにおいて、時間が余るというあり得ない事態になっていました。ひどい。笑
受験後の手ごたえとしては、時間が足りなかった(当たり前)ものの、 「できなかったなぁ」、とも、「たくさんできた!」というのもなく、「できたのもあるしできなかったのもあるしぃ、どうなるかわからないって感じぃ」でした。
【結果】145点アップ
その結果。
ばばぁぁぁん
\急な145点アップ/
なにがあったのやらさっぱり…
本文をちゃんと読むようにしたため、得点が上がるだろう!と思っていたのですが、Readingは40点のアップ。 一方、特に何も変えてない・大した勉強もしていないListeningが、前回から110点、自己ベストからも50点上がっています。
なにがあったのやら…
真面目に受験開始(2回目)
520点保持者がいきなり675点になるなんて、さすがにこれはまぐれではないか、という疑惑しか生まれなかったので、2017年4月に、再び受験することにしました。
【準備】本を購入(2回目)
TOEIC L & R TEST 出る単特急 金のフレーズ (TOEIC TEST 特急シリーズ)
このときは、TOEICの試験の1週間後に応用情報技術者試験が控えており、そちらに本腰を入れてたので、 勉強のやる気はあったものの、TOEICの勉強にはあまり時間をとることができませんでした。 ただ、前回の大幅得点アップは金フレのおかげもあるだろう、とは思っていたため、 2017年1月に発売された新版の金フレ(TOEIC L & R TEST 出る単特急 金のフレーズ)を購入しました。
旧・新の違いを述べようにも、旧版をほとんど勉強していないので、正直わかりません。 が、しょっぱな1ページ目の単語も全く違ったため、 本を買ったことで満足して、最初のページくらいしか開かない私にとっては、 触れる単語が増え、買ってよかったな、と思います。(笑)
今回は前回よりは勉強したな!(前回はほぼやっていなかったので、それと比べると当人比250%増) と思うのですが、やったことは以下です。
40ページ/200単語くらいまで2回ほど読んだ
音源、600点レベル/400語分+730点レベル/200語分を、仕事中・通勤中・勉強(他の教科)中・睡眠中に聞きまくった
今回は、前回と比べて、音源をとても聞きまくりました。 十数単語は文章が音源と同時に思い浮かぶ、くらいには聞きました。(十数単語は。)
【当日】受験方法を継続
前回チョコを食べたら点があがった、とも思っているので、今回もゲン担ぎにチョコを食べました。 今回食べたチョコは「カプリコのあたま」です。全部は食べきらなかったので、次の週にあった試験前にもこれを食べました。美味しかった。
手ごたえは、相変わらず、ありませんでした。 受験会場がいつもと違く、館内放送ではなくラジカセから流れるタイプだったのですが、 もともと神経質でもなく耳もよくなく、たいして気合も入れていないため、なにも気になりませんでした。 良い言い方をすれば平常心。
【結果】
80点アップ
前回の点がキープできたかなドキドキ…と仕事中にチェックしたスコア。
ばばぁぁぁぁん
\音源を聞きまくることしかしなかったのに、Readingのみ得点UP/
なにがあったというの…
今回は、Listeningは一切変化なく、Reagingが80点もあがりました。
やっぱり金フレのおかげかな????いっぱい聞いて、自然に語彙力が増えたのかな…? という感じ。 私自身も、なぜこんなにスコアが上がり続けているのか、さっぱり原因がわかりません。
今後の展望
文法をはじめとして、TOEIC対策どころか英語自体を、勉強と言う勉強は全くせずにスコアが上がったので、 ちゃんと勉強したら800点超えられるんじゃないかな?!?!と調子にのりました。 なので、これから真面目に勉強しようと思います。
原因がどうであれ、スコアが上がるのは純粋にうれしい。 もっと上げたい。という気持ちが湧きました。
まずは金フレの内容を叩き込むこと(こんなに点数は上がりましたが、いまだに本に掲載されている1000語中、おそらく100語未満しかわかっていないと思います)と、 金フレと同じ特急シリーズを使って文法の勉強をすることから始めようかなと思っています。
1駅1題 新TOEIC TEST文法特急
また、会社の人に、金フレ聞きまくるのみの勉強(これは勉強なのか?)方を伝授したので、その方々もスコアがあがるか、観察したいと思います。
以上全く参考にならないTOEIC受験記でした。(´⊙ω⊙`)
膀胱炎になっている
日曜日から、下腹部が少し痛いな?と思っていたら、 今日の昼休み以降、会社のトイレに頻繁に行くようになり、 ついに今日の定時後、トイレに行っても行っても尿意が収まらなくなった。
そして次第に血しか出なくなり(いまここ)痛い。
なので、腎仙散という、腎臓の病を仙人が散らしてくれそうな名前の漢方薬をマツキヨで入手し、飲んでみた。
たいそうまずいことを覚悟して飲んだが、意外とそんなことはなく、シナモンみたいな味さえ感じられた。 (味音痴が幸いした)
効くといいなぁ
と思う反面、
菌を放出するために利尿作用もあるらしく、トイレ行くたびに膀胱が痛いからあまり行きたくないんだけどなぁ
とも、思っている。
果たして効くのか。
テーブル結合で同じテーブルを2度参照する
問題
商品テーブル
商品名 | 生産地ID | 販売地ID |
---|---|---|
りんご | 1 | 2 |
ぶどう | 3 | 3 |
みかん | 10 | 12 |
… | … | … |
都道府県テーブル
都道府県ID | 都道府県名 |
---|---|
1 | 北海道 |
2 | 青森県 |
3 | 岩手県 |
… | … |
例えば上記のようなテーブルがある。 この2つのテーブルを結合して下記のように出力したいとき、
期待値
商品名 | 生産地 | 販売地 |
---|---|---|
りんご | 北海道 | 青森県 |
ぶどう | 岩手県 | 岩手県 |
みかん | 群馬県 | 千葉県 |
… | … | … |
“生産地"列と"販売地"列でそれぞれ同じ"都道府県名テーブル"を参照する必要がある。
しかし、下記のように普通に結合する時の書き方をすると、生産地の都道府県と販売地の都道府県の区別ができず、
#1066 - Not unique table/alias :'都道府県'
(生産地IDと結合した都道府県テーブルと、販売地IDと結合した都道府県テーブル、どっちを参照したらよいかわからないよエラー)になってしまう。
SELECT 商品テーブル.商品名, 都道府県テーブル.都道府県名, 都道府県テーブル.都道府県名 FROM 商品テーブル LEFT JOIN 都道府県テーブル ON 商品テーブル.生産地ID = 都道府県テーブル.都道府県ID LEFT JOIN 都道府県テーブル ON 商品テーブル.販売地ID = 都道府県テーブル.都道府県ID
解決策
複数回参照するテーブル名を、AS
を用いて別名にする
SELECT 商品テーブル.商品名, 生産地テーブル.生産地, 販売地テーブル.販売地 FROM 商品テーブル LEFT JOIN 都道府県テーブル AS 生産地テーブル ON 商品テーブル.生産地ID = 生産地テーブル.都道府県ID LEFT JOIN 都道府県テーブル AS 販売地テーブル ON 商品テーブル.販売地ID = 販売地テーブル.都道府県ID
都道府県テーブルをJOIN
するときにそれぞれ別名をつけ、新たにつけた名前を用いて表記することで、期待の結果が得られる。