一日生涯

備忘録

vimでファイルを跨いだ置換処理をしたい

1つのファイル内は%s/hoge/fuga/gcでよくやるけど、multiple fileは忘れやすいのでメモ

iOSProjectを想定しています。Project内を検索してAppDelegate.swift, ViewController.swiftのファイルを取り出して置換したいんす

やりたいこと

  • 別々の階層にあるファイルを跨いだ置換処理

やったこと

  1. 変更したいディレクトリ直下に移動し、vimで開く
cd ~/.ghq/github/SwiftHogeProject/SwiftHogeProject
vim AppDelegate.swift

2. ほんで以下のコマンド

:args **/*.swift
:args
:argdo %s/class/final class/ge | :update

継続と言う文字が表示されるがshift+gで自動で最後までやってくれる。

ただ、xvimでやっても動かなかった。なんでや。。

フォルダ構成

├── SwiftHogeProject
│   ├── AppDelegate.swift
│   ├── Assets.xcassets
│   │   └── AppIcon.appiconset
│   │       └── Contents.json
│   ├── Base.lproj
│   │   ├── LaunchScreen.storyboard
│   │   └── Main.storyboard
│   ├── Info.plist
│   └── ViewController.swift // ここが`Controller/ViewController`とかになってても置換できる。やったね
└── SwiftHogeProject.xcodeproj
    ├── project.pbxproj
    ├── project.xcworkspace
    │   ├── contents.xcworkspacedata
    │   └── xcuserdata
    │       └── omatty.xcuserdatad
    │           └── UserInterfaceState.xcuserstate
    └── xcuserdata
        └── omatty.xcuserdatad
            └── xcschemes
                ├── SwiftHogeProject.xcscheme
                └── xcschememanagement.plist

blog.ruedap.com

Swift3のClass名.selfとはなにか

型名を返したい時に出てくる

.selfってなんやねんと

 

> メタタイプと呼ばれている型です。メタタイプはクラスやストラクチャ、列挙型、プロトコルが何であるか判別するための特別な型です。

 

## 参考

http://stackoverflow.com/questions/39495021/dynamictype-is-deprecated-use-typeof-instead

- http://dev.classmethod.jp/smartphone/iphone/swift-3-type-of/#toc-type-

君の名は。観た

> 瀧の目で初めて東京を見た三葉は素敵な街だなと思い、三葉の目で三葉の住む自然豊かな町を見た瀧はいいところだなと思う。たがいの友人たちと交流し、こういう人間と友達である瀧は、三葉はどんな人間なんだろうと興味をもつわけです。だから、その環境を美しく描くというのは絶対に必要なことだったのです。

 

なるほど、だからあんなに美しく、物語も映えたのか。

 

Xcode7の新機能であるExtraViewを触って見た

要約

  • storyboard内のViewController内に直接置くのではなく、名の通りExtraViewとして、Viewを生成させる。使う時はaddSubViewする。

    書いた動機

    qiita.com

こちらの記事を読んでもしっくり来なかったので自分で触った

f:id:omatty198:20160109155337p:plain

所感

Qiitaの記事にあるように

上記のようなエラー時のみに表示したいViewや、特定のボタンなどをタップした際に表示されるメニューを作るときに便利そうですね!今までであれば 別xibファイルでViewを作成したり、SceneのView上で直接レイアウトを作成して初期値を hidden = true にしておくしていたかと思います。

1.エラー時のみに表示したいView

2.特定のボタンなどをタップした際に表示されるメニューを作るとき

自分の言葉で言い換えると

  1. CommonViewにするまでもなさそうなCustomView
  2. コードでレイアウトいじる前提のView、例えば外からアニメーションしたりするView

とかに有効かなーと思いました。

Document

追記

@IBOutlet private var button: UIButton!navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button) とかに有効...!

“大学入学おめでとう”

入学おめでとう。

ふと物思いにふけってしまった。 1つ書きたくなったから書いた。

f:id:omatty198:20140404210354j:plain

大学入学において、 オススメする本・オススメするサービスとかまとめてみた。 反応良ければpart2書こうかな!

** 初心忘れるべからず

大学で何を学ぶか (ベスト新書)

大学で何を学ぶか (ベスト新書)

特に、あれ俺この大学で何をしたかったんだっけってなりつつあった自分。 大学の単位とかいうシステムに振り回されそうだった自分。

目を覚まされた1冊。

** 整理重要 モノを整理できる人うらやましいです。 すぐ自分は部屋が散らかってしまう、ファイルとかDropboxとかカヲス。頭ん中とかグッチャグチャ。

ドラえもんなんかいいのないのん?

\ありました/

思考の整理学 (ちくま文庫)

思考の整理学 (ちくま文庫)

この本と出会ってから、負担が減った。

** その分野だけじゃ駄目だ! TED:https://www.ted.com/translate/languages/ja

アハ体験多い。その道のProfessionalが何を世界に訴えたいのか? NHKで放送もされているので、録画して一気にみるのありです。

** 若い世代には未来があるよ、でもね。

*** まとめ

買えとゆうてない。本屋で立ち読みでも良い。むしろ買って満足しちゃあかん!

インプットして、創意工夫・試行錯誤して、アウトプット。 これを回そう。物凄いスピードで。

** ワクワクするだろ? オモロい生活を歩むためには、自分からオモシロくしていこう。

少しでもあなたの大学生活に実りがありますように

omatty