-2

我知道 Instance 方法在执行完成后可以返回一个值,但我不知道如何设置和获取该值,我知道如何设置参数但如何设置 Method 本身的返回类型?

所以,这是 Instance 方法的实现:

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

设置它的参数我做:

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

但是我如何设置“returnInteger 本身”的值我想知道如何在它的实现中以及当我调用它时(当它执行时)设置 i。

还有 - 另一个问题

如果我在方法中将它的第一个参数设置为 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 回答