LoginSignup
11
11

More than 5 years have passed since last update.

Xcode6で地味に置換の指定が変わってた

Last updated at Posted at 2015-04-23

はじめに

Xcode6での正規表現をつかった置換作業をしていたら
(.*):グループ化した文字列
で文字列がとれなかったので調べてみました。

\1から$1への変更

Xcode5時代の置換の仕方記事をみていたらどうも結果がおかしいので
調べたらXcode6くらいからリテラルに変更があったみたいです。
あまり使ってなかったので気にしてませんでした。

GAのv2→v3対応を例にします。

例)メソッドの書き換え

v2
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker sendView:@"Home Screen"];

v3
// v3
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
// Set the screen name on the tracker so that it is used in all hits sent from this screen.
[tracker set:kGAIScreenName value:@"Home Screen"];

// Send a screenview.
[tracker send:[[GAIDictionaryBuilder createAppView]  build]];

Find Navigatorを使う

スクリーンショット 2015-04-23 15.58.59.png

入力時にはメモ帳などを開いて、下記の文字列をコピーして
設定するとわかりやすいです。
Xcode内の入力部で指定すると、改行をいれることが困難でした。

Replace AllでなくPreViewを使うと色々捗ります

対象
\[tracker sendView:@(.*)\];
置換結果
//\[[tracker sendView:@$1\];
\[tracker set:kGAIScreenName value:@$1\];
// Send a screenview.
\[tracker send:\[\[GAIDictionaryBuilder createAppView\]  build\]\];

参考

さいごに

地味に変わってて気づかないところは他にもありそうです。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11