UITextView字段验证挑战

时间:2015-05-17 18:27:24

标签: validation uitextfield challenge-response

这是挑战;我想确保输入到UItextview中的数字是65535 [短]或更少。我可以将最高位数限制为

[NSCharacterSet characterSetWithCharactersInString:@" 123456"];

但我需要更聪明,因为下一个数字可以是任何数字,最多可达65;但我不能简单地使用NSCharacterSet或者我可以吗?

你有什么想法?

1 个答案:

答案 0 :(得分:0)

好的,找到了各种各样的解决方案,结果很简单;我喜欢简单。使用此电话&这段代码。

void combinationComputer(int* temp, int* arr, int* data, int start, int end,
                         int index, int k, int* x, int* y, int count) {
    int i;

    if (index == k) {
        if (count > k) {
            *x = *x + k;
            *y = *y + k;
        }

        for (i = *x; i < *y; i++)
            temp[i] = data[i - *x]; // storing all combinations into temp[] as a
                                    // single chunk, one combination at a time

        return;
    }

    for (i = start; i <= end && end - i + 1 >= k - index; i++) {
        data[index] = arr[i]; // each combination is stored in data[], with each
                              // subsequent combination overwriting the previous
                              // one.
        count = count + 1;
        combinationComputer(temp, arr, data, i + 1, end, index + 1, k, x, y,
                            count); // recursive call
    }
}

没有给你65535,它只有65499;但是足够接近。当然,欢迎您提出更好的解决方案。变量&#34; minorMaxColumns&#34;也是由Editing Did Begin事件设置的。查看最后一位数字和第一位数字以及限制长度的解决方案的秘密。