3

Objective-Cでフォームを作成しています。フォームに入力したすべてのデータを Web サービスに投稿します。すべてが問題なく、データが正常に送信された場合、これにより 200 コードが返されます。しかし、何か問題がある場合は、406 コードが表示されます。もしそうなら。JSON にはエラー オブジェクトも含まれます。ここで JSON の例を見ることができます。

{

    "data": {
        "status": 406,
        "message": "Not Acceptable",
        "errors": {
            "cu_email": [
                "'stefappmax.be'is no valid email!"
            ]
        }
    }

}

すべてのテキスト フィールドは、JSON と同じ名前e.g. My email-textfield calls cu_email です。これで、このコードができました。

   NSDictionary* dict = [json objectForKey:@"data"];
                NSLog(@"dict: %@",dict);
                for (NSString *errorObject in [dict objectForKey:@"errors"]) {
                    NSLog(@"error name: %@",errorObject);
                }

これにより、エラーを含むテキストフィールドのすべての名前が返されます。私が今やりたいことは、それらのテキストフィールドの周りに赤い枠を作ることです. Quartzcore フレームワークを実装し、このコードを追加するために必要な境界線を配置する必要があることはわかっています。

self.cu_email.layer.borderColor = [[UIColor redColor] CGColor];

しかし、どうすれば cu_email を に置き換えることができerrorObjectますか?

4

1 に答える 1

9

私はこれがあなたのために働くと思います:

KVC を使用してその textField プロパティにアクセスできます。

UITextField *theErrorField = (UITextField *)[self valueForKey:errorObject];
theErrorField.layer.borderColor = [[UIColor redColor] CGColor];
theErrorField.layer.borderWidth = 3.0;
于 2012-12-31T08:21:26.220 に答える