変換
変換リファクタリングを使用すると、メソッドを関数またはブロックに、またはその逆に変換したり、プロパティをインスタンス変数に変換したりできます。
これらのリファクタリングは、リファクタリングメニューから呼び出されます。同じ目的でシグネチャーの変更リファクタリングを使用することもできます。
メソッドに変換
メソッドに変換リファクタリングを使用すると、関数またはブロックをメソッドに変換できます。
エディターで、メソッドに変換する関数またはブロックにキャレットを配置します。
メインまたはコンテキストメニューからを選択します。
開いたダイアログで、必要に応じて変更を加えます。

リファクタリングを実行するには、リファクタリングをクリックします。リファクタリングを実行する前に予想される変更を確認し、必要な調整を行うには、プレビューをクリックします。
前 | 後 |
|---|---|
// This function will be converted into a method
BOOL isPasswordValid(NSString *password) {
return password.length > 4;
}
- (void)performLogin {
// ...
// Function's usage
if (isPasswordValid(password) == NO) {
// ...
}
}
|
// New method
+ (BOOL)isPasswordValid:(NSString *)password {
return password.length > 4;
}
- (void)performLogin {
// ...
// Method's usage
if ([LoginViewController isPasswordValid:password] == NO) {
// ...
}
}
|
関数に変換
関数に変換リファクタリングにより、メソッドまたはブロックを関数に変換できます。
エディターで、関数に変換するメソッドまたはブロックにキャレットを配置します。
メインまたはコンテキストメニューからを選択します。
開いたダイアログで、必要に応じて変更を加えます。

リファクタリングを実行するには、リファクタリングをクリックします。リファクタリングを実行する前に、予想される変更を確認し、必要な調整を行うには、プレビューをクリックします。
前 | 後 |
|---|---|
// This method will be converted into a function
- (void)setIsValid:(BOOL)isValid forField:(UITextField *)field {
field.textColor = isValid ? [UIColor blackColor] : [UIColor redColor];
}
- (void)performLogin {
// ...
if (isEmailValid == NO) {
// Method's call
[self setIsValid:NO forField:self.textFieldEmail];
}
}
|
// New function
void setIsValid(BOOL isValid, UITextField *field) {
field.textColor = isValid ? [UIColor blackColor] : [UIColor redColor];
}
- (void)performLogin {
// ...
if (isEmailValid == NO) {
// Functions's call
setIsValid(NO, self.textFieldPassword);
}
}
|
ブロックに変換
ブロックに変換リファクタリングを使用すると、関数またはメソッドをブロックに変換できます。
エディターで、ブロックに変換するメソッドまたは関数にキャレットを置きます。
メインまたはコンテキストメニューからを選択します。
開いたダイアログで、必要に応じて変更を加えます。

リファクタリングを実行するには、リファクタリングをクリックします。リファクタリングを実行する前に、予想される変更を確認し、必要な調整を行うには、プレビューをクリックします。
前 | 後 |
|---|---|
// This function will be converted into a block
BOOL isPasswordValid(NSString *password) {
return password.length > 4;
}
- (void)performLogin {
// ...
// Function's call
if (isPasswordValid(password) == NO) {
// ...
}
}
|
- (void)performLogin {
// ...
// New block
if (^BOOL(NSString *password) {
return password.length > 4;
}(password) == NO)
// ...
}
|
プロパティに変換
プロパティに変換リファクタリングにより、インスタンス変数をプロパティに変換できます。
プロパティに変換するインスタンス変数にキャレットを置きます。
メインまたはコンテキストメニューからを選択します。
開いたダイアログで、変換するインスタンス変数を選択します。

リファクタリングを実行するには、OK をクリックします。
前 | 後 |
|---|---|
@interface AlertParams : NSObject {
// These instance variables
// will be converted to properties
@public
NSString *_title;
NSString *_message;
}
@end
|
@interface AlertParams : NSObject
// New properties
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSString *message;
@end
|
インスタンス変数に変換
インスタンス変数に変換リファクタリングでは、プロパティをインスタンス変数に変換できます。
エディターウィンドウ内にキャレットを配置します。
メインまたはコンテキストメニューからを選択します。
開いたダイアログで、変換するプロパティを選択します。

リファクタリングを実行するには、OK をクリックします。
前 | 後 |
|---|---|
@interface AlertParams : NSObject
// These properties will be converted
// to instance variables
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSString *message;
@end
|
@interface AlertParams : NSObject {
// New instance variables
@public
NSString *_title;
NSString *_message;
}
@end
|
関連ページ:
シグネチャーの変更
シグネチャーの変更リファクタリングは、メソッド / 関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。このリファクタリングを使用して、次のことができます。メソッド / 関数名と戻り値の型を変更する、パラメーターの追加、削除、並べ替え、パラメーター名と型を変更する、可視性タイプ(Swift の場合)と呼び出し可能タイプを変更します (Objective-C 用)、メソッド / 関数のシグネチャーを変更する場合、AppCode はメソッド / 関数のすべての使用箇所を検索し、変更、反...
コピーして移動リファクタリング
コピー:コピーリファクタリングを使用すると、ファイルまたはディレクトリのコピーを別のディレクトリまたは同じディレクトリに作成できます。プロジェクトツールウィンドウでファイル / ディレクトリを選択します。メインメニューまたはコンテキストメニューからを選択するか、を押します。コピーウィンドウで、コピーの名前と場所を指定し、OK をクリックします。移動:移動リファクタリングを使用すると、宣言とクラスメンバーを別のファイル / クラスに、ファイル / ディレクトリを別のディレクトリに移動できます。...