0

すべての番号が 1 ~ 9 の 5 つのコンポーネントを持つ 1 つの UIPicker があります。5 つのコンポーネントすべてを UITextfield に表示したいだけです。私が持っているものよりもはるかに短いコードがあると感じています:

NSString *result = [metricMillimeterArray objectAtIndex:[metricMillimeterPicker selectedRowInComponent:0 & [metricMillimeterPicker selectedRowInComponent:1]& [metricMillimeterPicker selectedRowInComponent:2]& [metricMillimeterPicker selectedRowInComponent:3]& [metricMillimeterPicker selectedRowInComponent:4]]];
4

1 に答える 1

1

返されるオブジェクトが何であるかはわかりませんが、

[metricMillimeterArray objectAtIndex:[metricMillimeterPicker selectedRowInComponent:0]

コマンドは文字列(1文字の長さ)を返す場合、次のことを行う必要があります。

result = [NSString stringWithFormat:@"%d mm", 
    10000 * [metricMillimeterPicker selectedRowInComponent:0] + 
    1000 *  [metricMillimeterPicker selectedRowInComponent:1] + 
    100 *   [metricMillimeterPicker selectedRowInComponent:2] +
    10 *    [metricMillimeterPicker selectedRowInComponent:3] + 
            [metricMillimeterPicker selectedRowInComponent:4] ];

これは、コンポーネント4が最も重要でないことを前提としていますが、その部分が間違っている場合は、10の累乗を入れ替えることができます。

于 2012-06-07T00:46:29.270 に答える