1

我是目标 C 的新手,并试图为 iPhone 应用程序创建一个函数。但是,我很难在 Objective C 中创建这个 C# 函数。特别是传递整数数组并将其取回的正确语法,我只是在数组 * 和 NSArray / NSMutableArray,NSInteger[] 之间迷路, ETC。

我想出的最好的方法是,它不起作用,是:

- (NSInteger[])GetUniqueNumbers: (NSInteger *)nums[] WithMin: (int) min WithMax: (int) max;
{
return nums;
}

原始 C# 函数:

private int[] GetUniqueNumbers(int[] nums, int min, int max)
{
    int[] NewNumbers = new int[nums.Length];

    for(int i=0; i < nums.Length; i++)
    {
        int trynum = nums[i];

        while(ExistsAlready(NewNumbers, trynum) == true)
        {
            trynum = trynum + 1;
            if (trynum > max)
            {
                trynum = min;
            }
        }

        NewNumbers[i] = trynum;

    }

return NewNumbers;
}
4

2 回答 2

0

这就是我们在目标 c 中编写 Method 的方式

- (NSArray *)GetUniqueNumbers: (NSArray *)nums WithMin: (int) min WithMax: (int) max;
{
return nums;
}
于 2013-09-12T05:33:02.053 回答
0

试试这个

- (NSArray *)GetUniqueNumbers:(NSArray *)nums WithMin:(NSInteger)min WithMax:(NSInteger)max{ 
    NSMutableArray *NewNumbers = [[NSMutableArray alloc]init];
    for(int i=0; i<[nums count]; i++){
        NSInteger trynum = [[nums objectAtIndex:i]intValue];
        while([NewNumbers containsObject:[NSNumber numberWithInt:trynum]]){
            trynum = trynum + 1;
            if (trynum > max){
                trynum = min;
            }
        }
        [NewNumbers addObject:[NSNumber numberWithInt:trynum]];
    }
    返回新号码;
}
于 2013-09-12T05:59:05.293 回答