1

Objective C は初めてで、iPhone アプリ用の関数を作成しようとしています。ただし、Objective C でこの C# 関数を作成するのに苦労しています。具体的には、整数配列を渡してそれを取得するための正しい構文、* と NSArray / NSMutableArray、NSInteger[] の間で迷子になり続けています。など

私が思いついた最高のものは、うまくいきませんでした:

- (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]];
    }
    NewNumbers を返します。
}
于 2013-09-12T05:59:05.293 に答える