2017-05-10 12 views
0

데이터베이스에서 문자열을 가져 오는 중입니다. As1234512345. 인덱스 2와 8에 공백을 추가하고이 문자열을 "12345 12345"문자열로 텍스트 필드에 표시하려고합니다. 나는이 shouldchangecharacterinrange에서 수행 할 수 있습니다 알아요.하지만 문자열을 소요하고 원하는 위치에 공백이 추가 된 문자열을 반환 할 수 있도록 내 자신의 메서드를 만들고 싶습니다. 얼마나 z 가능합니다. 친절하게도 일부 코드 조각 도움이됩니다. 감사합니다 전진.인덱스 2와 8에 mutablestring의 공백 추가하기

-(NSMutableString *)makeStringForTextfield:(UITextField*)textField withString:(NSString*)string 
{ 
    NSMutableString *mutString=[string mutableCopy]; 
    NSLog(@"The value of mutablestring %@",mutString); 
    if(string.length!=0) 
    { 

      [mutString insertString:@" " atIndex:2]; 
      [mutString insertString:@" " atIndex:8]; 
    } 
    else 
    { 
     NSLog(@"the value of string is %@",string); 
    } 
    return mutString; 


} 

내가 직접 내가 텍스트를 편집 할 때 데이터베이스 나누었다에서 인출 한 후 데이터를 표시하는 경우에 잘 작동 .IT 위의 코드를 시도, 그것은 진짜 문제 8 인덱스 위치에 공간을 추가 나던.

+2

된 직후이 방법을?. – Signare

+0

문자열을 분할하고 결합하는 방법이 필요합니다. 여러 가지 방법이 있습니다. 일부 시도) 스캐너/범위 옵션 – Nazir

+0

시도 [self convertString : @ "As1234512345"positions : pos]; - (NSString *) convertString : (NSString *) 문자열 위치 : (int) pos {// 여기서 원하는 것을 수행 한 다음 문자열을 반환} – Signare

답변

0

이 시도 :

-(NSString*) returnStringForTextfield:(NSString*) str{ 
    NSString* newStr = @""; 
    if(str.length>=8){ 
     newStr = [NSString stringWithFormat:@"%@ %@ %@", [str substringWithRange:NSMakeRange(0, 2)], [str substringWithRange:NSMakeRange(2, 5)], [str substringWithRange:NSMakeRange(7,str.length-7)]]; 
    } 
    return newStr; 
} 

사용 당신이 무엇이든을 시도

NSLog(@"%@", [self returnStringForTextfield:@"As1234512345"]); //As 12345 12345 
+0

데이터를 슈잉하는 데는 문제가 없지만 편집하는 동안 유효성 검사를 위반하고 8 인덱스 위치에 공간을 추가하지 않습니다. – Prez

+0

텍스트 필드에서 텍스트를 편집하기 시작할 때 유효성 검사가 잘못 되었습니까? –

+0

예 .. 텍스트 필드에서 텍스트 편집을 시작하면서 인덱스 2와 8의 공간을 추가하는 것에 대한 위반입니다. – Prez