-2

インスタンスメソッドは実行が完了すると値を返すことができることを知っていますが、その値を設定および取得する方法がわかりません。パラメーターを設定する方法を知っていますが、メソッド自体の戻りタイプを設定するにはどうすればよいですか?

したがって、これはインスタンスメソッドの実装です。

-(int) returnInteger: (id) anString: (int) anNumber{

パラメータを設定するには、次のようにします。

 [self returnInteger: (id) returnNSString: (int) 100]; 

しかし、「returnInteger自体」の値を設定するにはどうすればよいですか。実装内と呼び出し時(実行時)の両方でiを設定する方法を知りたいです。

また-もう1つの質問

メソッド内で最初のパラメーターを100に設定し、それを呼び出すときに100を追加したい場合、どうすればよいですか?私はこれを試しましたが、うまくいきませんでした

[self returnInteger: (id) returnNSString: (int) + 100]; 
4

1 に答える 1

0

何を求めているのかはまだよくわかりませんが、役立つ例を次に示します。

@interface Juniper : NSObject
// Return type int, first parameter type NSString * and named s,
// second parameter type int and named i. Method's name is
// addNumberInString:toInt:
- (int)addIntInString: (NSString *)s toInt: (int)i;
@end

@implementation Juniper

- (int)addIntInString: (NSString *)s toInt: (int)i
{
    // Extract int from argument named s
    int intFromString = [s intValue];
    // Add that int to argument named i and end 
    // method, returning the result of addition
    return intFromString + i;
}

@end



int main(int argc, const char * argv[])
{

    @autoreleasepool {

        Juniper * j = [[Juniper alloc] init];
        // Execute the method, store the return value
        int result = [j addIntInString:@"100" toInt:15];
        // Display the return value so we know it worked.
        NSLog(@"%d", result);

    }
    return 0;
}
于 2012-07-15T05:16:15.490 に答える