imacswift’s blog

There is no article rambling

映画「天使のいる図書館」ロケ地訪問

奈良県の葛城をロケ地とした、映画「天使のいる図書館」の撮影場所をしてきました。

1.二上山近鉄当麻寺からちょっと歩きます。千股池南側の細い道です)
主人公が本を紛失してしまった場所です。

f:id:nakairo:20180404134308j:plain
普通電車?がちょうど走りました。

f:id:nakairo:20180404135110j:plain
f:id:nakairo:20180404134151j:plain
特急電車が走りました。
(電車に疎くて型名までわからないです、、)

f:id:nakairo:20180404141849j:plain
飛行機雲がキレイです。

2.天神社(JR高田駅のすぐそば)
主人公の住まいです。
f:id:nakairo:20180404141932j:plain
f:id:nakairo:20180404135720j:plain
桜も見頃です。

3.おばあさんと話をしていた桜の場所(JR高田駅から徒歩圏内)
f:id:nakairo:20180404135956j:plain
私が訪問した日は、露店がでていて賑わっていました。
近くに公園があり子ども連れが多かったです。

4.昔風の郵便ポスト(あえて言うなら、御所駅吉野口駅がもよりです。景色がいいのでハイキング気分でどうぞ)
f:id:nakairo:20180404141027j:plain

全体的にハイキングコースにぴったりの場所が多かったです。
ただ、カメラ撮影する際は午後はになる場所が多いので午前中がオススメです。)

XCode Version 9.1 (9B55)のSwiftでmacosアプリ開発時、紫色でNSControl.stringValue must be used from main thread onlyを表示する場合

<事象>
macosでテキストフィールドへ文字を代入する場合、
紫色でNSControl.stringValue must be used from main thread onlyを表示して動かない。

<解決方法>
 メインスレッドで実行するため、Notificationとスレッド処理を使う。

1.Notificationを定義

    override func viewDidLoad() {
        super.viewDidLoad()
        NotificationCenter.default.addObserver(
            self,
            selector: #selector(self.doSomething(_:)),
            name: NSNotification.Name("NotificationKey"),
            object: nil
        )
    }

2.呼び出し先を定義

     @objc func doSomething(_ notification: Notification) {
            txtOutput.stringValue =  “更新!”
    }

3.呼び出し

    func yobidasimoto() {     
        self.updateViewConstraints()
         DispatchQueue.main.async {
	        NotificationCenter.default.post(
	        name: NSNotification.Name("NotificationKey"),
	        object: nil)
        }
    }

(1〜3はすべてclass ViewController: NSViewController 内に記述しています。)

Takahiro Octopress Blog
http://grandbig.github.io/blog/2017/02/12/notification-and-thread/
を参考にさせていただきました。ありがとうございます。

XCODEのアップデートができない

XCODEのアップデートが正常にできず、
AppStoreのUpdate画面上で、
ステータスが「wait」・ボタン「pause」が無効になっていました。
(3〜4時間待ちましたが動いている様子はありませんでした。)

下記操作でバージョンアップできました。

1.閉じられるアプリをすべて閉じる。
2.AppStoreのUpdate画面を開き、ツールバーの「Store」→「Check for unfinished download」選択
3.AppStoreのUpdate画面を開き、ツールバーの「Store」→「Sign out」選択
4.FinderのApplicationの中のXCODEをゴミ箱に移動
5.再起動
6.AppStoreのUpdate画面を開き、ツールバーの「Store」→「Sign in」選択
あとは促されるまま選択していけばOKでした。

憶測ですが、「手順4.のXCODEをゴミ箱に移動」だけで大丈夫かもしれません。

WindowsでSwiftのPlayGroundライクな環境

WindowsのEdgeでSwiftのPlayGroundライクな環境が使えます!

Googleで「IBM SWIFT」を検索すると。「IBM Swift Sandbox」という
画面を表示します。
XCODEのPlaygroundと極めて類似した使い方ができそうです。

下記のコードを入力後、実行ボタンを押すと、無事「10」と表示しました。
入力の補完もきちんとしてくれます。

ちなみに、iPADでのアクセスはID登録が必要のようです。

//  Write some awesome Swift code, or import libraries like "Foundation",
//  "Dispatch", or "Glibc"

print("Hello world!")

class Abc{
	var i : Int!
	
	func printi(){
		print(i)
	}	
}

var Abcd : Abc = Abc()
Abcd.i = 10
Abcd.printi()

UIImageで画面表示できない。 Version 9.0 (9A235)

ナビゲーションエリアのプロジェクトナビゲータにPNGファイルを保存して
UIImageViewで表示するテストを行っている時、
シミュレーターおよび実機の両方でエラーもなく画面表示しませんでした。
(警告表示など一切確認できませんでした)

ナビゲーションエリアのプロジェクトナビゲータで
一番上のプロジェクト名を選択後
右側の編集エリアの上のタグから、「Build Phases」の
「Copy Bundle Resources」に+ボタンから、表示したい画像データを
追加すれば、解決しました。

アプリ公開してみました。(WPaintMAP(iPhone&iPad App))

iPhone,iPAD用のアプリをつくってみました。

地図で空港・都市や歴史的建造物の大きさの比較は難しいですよね?
このアプリを使えば、2つの地図を同スケールで異なる位置を表示できます。書き込み機能で線を書き込めば、両方の地図に書き込みされ、比較が容易になります。

AppStore
WPaintMAPを App Store で


ホームページ
 http://homepage-180807.appspot.com/index.html
(申請用に初チャレンジでGoogleクラウドサービスのGCEを使って作りました。)