2

iPhone開発初心者です。次のようなメソッドを呼び出す方法を知りたいself

[self Method_Name];

メソッド名が非常に長い

- (void)imagePickerController: (UIImagePickerController *)picker
        didFinishPickingImage: (UIImage *)image
                  editingInfo: (NSDictionary *)editingInfo
{
    ...
}

imagePickerControllerWを使用してメソッドを呼び出したい self。私はそれを呼び出してみました:

 [self imagePickerController]; // Crash Here

しかし、コードは常にこの行でクラッシュします。メソッドを呼び出すにはどうすればよいですか?

4

5 に答える 5

3

imagePickerControllerはメソッド名ではありません。メソッド名は

imagePickerController: didFinishPickingImage:  editingInfo: 

3 つの引数があり、引数を渡す必要があります。

同じクラスでメソッドを呼び出す場合は、次のように記述できます。

[self imagePickerController: pickerParameter
    didFinishPickingImage: imageParameter
    editingInfo: editingInfoParameter];
于 2012-07-05T06:13:29.977 に答える
2
[self imagePickerController: pickerParameter
    didFinishPickingImage: imageParameter
    editingInfo: editingInfoParameter];

xxxParameters は、メソッドに渡すパラメーターです。

于 2012-07-05T06:07:30.080 に答える
2

これは自動的に呼び出されます。しかし、そのようなメソッドを呼び出す方法についての質問に答えるには、次のようにする必要があります

[self imagePickerController: picker
didFinishPickingImage: image
editingInfo: editingInfo];

ただし、このデリゲート メソッドを呼び出す必要はありません。自動的に呼び出されます

それが役に立てば幸い。幸せなコーディング:)

于 2012-07-05T06:09:16.710 に答える
2

のようなメソッドを呼び出している場合[self method_name]。次に、そのクラスの (.h) ファイルでメソッドを宣言し (別のクラスでこのメソッドにアクセスする場合は、.h で宣言する必要はありません)、そのメソッドを同じクラスの (.m) ファイルで定義する必要があります。このような任意のメソッドを呼び出すことができます..

// in .h file

- (void)imagePickerController: (UIImagePickerController *)picker
didFinishPickingImage: (UIImage *)image
editingInfo: (NSDictionary *)editingInfo;

// cal this in .m as following  

[self imagePickerController:pickerController
didFinishPickingImage: imageNamed
editingInfo: editDictionary ];
于 2012-07-05T06:12:42.930 に答える
1

メソッド .m ファイルの定義を次のように記述します。

    #import "classname.h"

    @implementation classname

    @synthesis variable1 = <variable1_>;

    @synthesis .....;

    -(void)imagePickerController: (UIImagePickerController *)picker
    didFinishPickingImage: (UIImage *)image
    editingInfo: (NSDictionary *)editingInfo {

      // Your code for this method comes here.

    }

(.h ファイルでメソッドを宣言する必要はありません。)

次に、次のように必要な場所で「self」を使用してメソッドを呼び出します。

    [self imagePickerController: UIImagePickerControllerObject
    didFinishPickingImage: UIImageObject
    editingInfo: NSDictionaryObject];
于 2012-07-05T06:59:09.567 に答える