奥久慈トレイル 2020 中止。

奥久慈トレイル。ここ何年か出場していて、前日エントリー、朝 7 時号砲のため前泊ソロキャンプ必須、戦いは前日から始まっているという、なんとも過酷なレースな訳で、一度出場するとハマってしまって今年も 1 月にエントリーしていた。 エントリーした当時…

UIButton の label を code で変更するには・・・

今更(ジロー)ですが、UIButton の Label を変更する方法が分からなくて、軽くハマりました。 テキトーに、 button.titleLabel.text = @"hogehoge"; としてもダメ。理由や、titleLabel.text は read only なので、変更できません。それではどうするかという…

completionHandler とか、usingBlock とか・・・

またまたハマりましたね。今回ハマったのは、MapKIt で reverse location しようとした話。 reverse location は reverseGeocodeLocation ってのでできるんだけど、この method は非同期な訳だ。なので、完了すると completionHandler 部分が実行されると。 …

CoreData: Master-Detail の Detail でハマる。

CoreData はマジ鬼門。Master で add して、Detail に遷移する。Detail には、Master の情報のほか relation した N の record も表示したいわけだ。 ここですっかりはまってしまったのが、Detail、つまり、tableView で表示している cell に UIView とUILab…

UITableView で、row には UIView と UILabel をいくつか表示。UIView は UIBezierPath の絵と、UILabel で構成されている(文字で書くとすごい分かりにくい)。UIView は各 record に応じて色と UILabel の text を変えたいがどうするのか。 まず、各 row …

Storyboard に作ってある ViewController を code で呼ぶには

Storyboard に ViewController を定義してあって、code から画面表示するにはどうするか。 hoge* lv = [hoge new]; とやってみたんだけどダメで、調べてみたら次のような method があった。 hoge* lv = [self.storyboard instantiateViewControllerWithIdent…

CoreData、relate 先の N テーブルに record を保存する

CoreData はホント鬼門。以前はまって、かなり理解したつもりなんだけど相変わらず分からなくなってしまう。分からなくなる原因は、automatic で処理される部分があるためで、method 名とかも table の名称に応じて変化するため余計分からなくなる。でも、そ…

Master-Detail にはいつも悩まされるね。

Master-Detail のテンプレートを使ってアプリを作っていると、デフォルトのテンプレートの出来栄えのよさに感心してしまう。素晴らしいなと。splitView や navigationController の対応など、これを素で作ろうとしたら、困難を究めることは間違いない、って…

UIView をアニメーションさせると、タップしても反応しないぞ?の対応

UIView に animation を指定した時の話。 UIView を丸くして、Start ボタンのつもり。Start を押したら Stop に表示を切り替えて、さらに、ボタンの alpha を薄くしたり戻したりして生きている風にした訳。それで、もっかいタップしたら、Stop ラベルを Star…

NSMakeRange にはまる

NSMakeRange にはまった・・・ 文字列から部分的に文字列を取出したい場合、Python だと、3 文字目から 5 文字目だったら、[2 : 5] みたいに、start, end で指定する訳だ。すっかりそれに慣れてたら、NSMakeRange でははまる。NSMakeRange では、start, leng…

shouldPerformSegueWithIdentifier は曲者だ。

ようやくアプリをリリースできたんだけど、、、 Direction of Your Destination Satoshi TANAKA Lifestyle Free apps.apple.com 指摘された部分を改修してたらバグを見つけてしまい、解決できなくて困ったなぁ。とりあえず、見つけたバグは指摘されていない…

Direction of Your Destination

目的地の方角を示すアプリが欲しくて、作成した。 従来のナビアプリは道順や予想到着時刻がわかって便利なんだけど、自転車に乗っている時なんかは道順を見るために立ち止まったりしたくないもので、方角と残距離だけわかればよく、そんなアプリ。 方角と残…

RaNi Music ってイイね。

プログラム書いている時は大体音楽を聴くことが多くて、インターネットラジオの Vocal Smooth Jazz をいつも聞いてて、このラジオでかかる音楽で結構曲を覚えた。Anita Baker, Whitney Huston, incognito, Shakatak, Paul Hardcastle あたりがお気に入り。 …

applicationWillResignActive とか、どうすんの

いやー、マジはまった。 ライフサイクルの話ね。GPS とか方角を使うアプリ作ってて、こういうアプリはすごい電池喰うから、バックグラウンドに回ったら中断、フォアグラウンドに回ったら再開ってことにしたかったのね。車で言うところの、アイドリングストッ…

C Vapor v4

C Vapor が v4 になったのは知ってて、v3 plus の電池が持っていたのでそのままにしてたら、流石に 1 年以上使っていると電池がおかしくなってくるもので、一回吸ったらすぐ充電が必要になってきたので、v4 買うかと。 これ、買ってよかった。v3 plus とは雲…

Container View を使って delegate

ViewController の中に UIView と UILabel がセットになった View を置きたくなり、それって、結局、ViewController の中に ViewController を配置するということか?と思い、はて、いったいどうやるんだ? Storyboard に配置した ViewController の中に Vie…

mapView に delegate method があるの知らなかった・・・

MapKit を使うアプリを作ってて、user location と goal location の距離や方角を計算しようとしたときの話。 user location の緯度・経度を調べるとどちらも 0 になってしまい、緯度・経度 0 の地点が現在地になり、距離なんてすごいことに・・・ viewDidLo…

フィリップモリス 14 Red

紙巻きたばこでフィリップモリスが終売になって久しいのですが、最近新発売になって早速買ってみた。昔このタバコメインで吸ってて、¥180, ¥220, ¥300 ぐらいまで値上がりした時点でアメスピ に乗り換えて・・・となんか懐かしー。 味ですが、昔のフィリップ…

CLLocationCoordinate2D に値が入っているかを確かめるには?

CLLocationCoordinate2D に値が入っているのか確かめるにはどうするか。== nil とかやってもダメ。調べてみたところ、次のような関数が・・・ BOOL CLLocationCoordinate2DIsValid(CLLocationCoordinate2D coord); うわー、知らなかったなー。便利だけど、専…

CLLocationCoordinate2D に値が入っているかを確かめるには?

CLLocationCoordinate2D に値が入っているのか確かめるにはどうするか。== nil とかやってもダメ。調べてみたところ、次のような関数が・・・ if ( CLLocationCoordinate2DIsValid( _locationOfGoal ) ) 便利だけど、専用の関数作るって・・・冗舌。

Pin 表示と compass 表示ではまる

MapKit を使っていて、long tap したところに pin を打つ、せっかくだからカスタマイズしてと、カスタマイズは pinView といいう class を作ってそこでカスタマイズするのですよ、と進めていたところ、ところで、現在地も表示したくなってきたんだけど・・・…

simlator で現在地を表示できないぞ?

アプリ作ってて、simlator に現在地を表示しようとしたらできない。なんで? Xcode で simlator の設定変更が必要だったと。 Product > Schema > Edit Schema Run, Core Location, Allow Location Simulation を On に。 また、Default Location が None だ…

simlator で現在地を表示できないぞ?

アプリ作ってて、simlator に現在地を表示しようとしたらできない。なんで? Xcode で simlator の設定変更が必要だったと。 Product > Schema > Edit Schema Run, Core Location, Allow Location Simulation を On に。 また、Default Location が None だ…

実機テストへの遠い道のり・・・

App を作ってて、テストするときの話。実機でテストするなら、以前は macbook に iPhone をケーブルでつないでアプリを転送して・・・みたいなことが必要で、ケーブル繋ぐのめんどくセーというのがあったんだけど、最近は connect に App を転送して TestFli…

UIBezierPath で、線の端を丸くするには・・・

UiBezierPath で直線を描く。線の端が角ばっていて、なんとなく、いやンな感じ。端を丸くしたい。丸くするにはどうするのか。 調べたところ、lineCapStyle という property があるではないか。勇んで property を設定しても、変化なし・・・? bezierPath.li…

storyboard でもっかい接続してみるってのも、原始的ながら有効なことあるんだね。

今日ハマったのは、navigationController で戻ってきたときの値の渡し方と、 viewDidLoad が呼ばれないので KVO の登録ができず、結果、値が変わっても呼ばれないという罠。 順を追って説明すると、navigationController の back ボタンで戻ってきました。さ…

後から navigation controller を追加するとハマるね。

Xcode でアプリ作ってて、sigleton テンプレートで進めていたら、後から navigation bar を追加したくなって、簡単・簡単とタカをくくっていたらハマるねこれ。 まず、storyboard に navigation bar を追加しようと object の一覧を見たら navigation bar と…

UITextField に何も入力されていないの判定

UITextField に何も入力せず return を押した場合、検索処理などをせず無視したいところ。これを実現するため、UITextField に何も入力されていないことを確認するにはどうするのか。 すぐに思いついたのが文字数を確認する方法。これ、やり方よくわからない…

ピースリトルシガー

ピースのリトルシガーは毎年すぐ売り切れてしまい買えない。今年は早めに買っておこうと、たばこ屋に置いてあったので購入。 他のシガーってわずかに葉巻の味がするものだけど、JT のはキャメルしかり、わかば、エコーしかりで葉巻の味がしない。ピースはど…

Xcode を久しぶりに触ったら結構忘れてるの・・・

Xcode も順調にアップデートをこなして、今は v11.3 になった。 アプリ作りでロジック部分ばっかり作ってて UI の動作部分をずっとやってなくて久しぶりに storyboard とかいじったら使い方すっかり忘れてた。レイアウトの右に配置したアイテムの一覧が出る…