2016-04-01 6 views
0

私はこれらのメソッドでタイトルに投稿したという警告を受け続けます。それらの前に私のメニューを台無しにしました。私はいくつかの同様の記事を見ましたが、ポイントと絶対的なものは何も見つかりませんでした。これに関する助けに感謝します。一般的な名前に'fieldPhone'のローカル宣言はインスタンス変数を非表示にします

- (BOOL)textField:(UITextField *)fieldPhone shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 
    NSString* totalString = [NSString stringWithFormat:@"%@%@",self.fieldPhone.text,string]; 

    // if it's the phone number textfield format it. 
    if(fieldPhone.tag==102) { 
     if (range.length == 1) { 
      // Delete button was hit.. so tell the method to delete the last char. 
      fieldPhone.text = [self formatPhoneNumber:totalString deleteLastChar:YES]; 
     } else { 
      fieldPhone.text = [self formatPhoneNumber:totalString deleteLastChar:NO ]; 
     } 
     return false; 
    } 

    return YES; 
} 
+0

ヒント: '@ synthesize'行の使用を取り除き、いずれかのプロパティの明示的なivar宣言を取り除きます。 – rmaddy

+0

私はそれをやろうとしましたが、私はユーザー情報を計算しているときにその変数を別の方法で操作しています。別の方法? –

+0

これまでにこのプロパティにアクセスする必要があるときは、 'self.propertyName'を実行します。 – rmaddy

答えて

0

変更機能のTextField名、問題はからそれを変更し、あなたのクラス変数に、それは同じ名前のことです:あなたは

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

:に

- (BOOL)textField:(UITextField *)fieldPhone shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

必要に応じて機能内で確認できます。

if (textField == self.phoneField) { 
} 
関連する問題