2011-05-10 1 views
0

저는 앱에서 코코아 sqlite를 처음 사용합니다. 학생 데이터가있는 테이블에 데이터베이스를 저장하고 있습니다. 나는 같은 이름을 부여 할 때 그 이름을 잘 받아들이지 않지만, 어떤 문자열보다는 공백을 받아들이는 이름보다는 공간을 부여 할 때. 나는 이름이 비어 있는지 확인하기 위해 @ ""를 사용했지만 내 문제는 공백을 ..... 사용하므로 공백을 피하여 데이터를 저장하지 않겠습니까?빈 문자열없이 데이터베이스를 저장하지만 공백은 받아 들여지고 있습니다. 코코아에서 sqlite를 사용하는 동안

답변

1

NSString 문서를 보면 저장하기 전에 문자열에서 공백을 제거하려면 stringByTrimmingCharactersInSet:을 사용해야합니다. 이런 식으로 작동해야합니다 :

// Remove whitespace 
NSString *trimmedString = [enteredName stringByTrimmingCharactersInSet:whitespaceCharacterSet]; 
// Check if the string is empty 
if(![trimmedString isEqualToString:@""]) 
{ 
    // Save... 
} 
+0

+1 : 문자열이 포인터이기 때문에 'isEqualToString' 부분이 특히 중요합니다. 확률은'if (myString == @ "")'와 같은 것을하고 있지만, 문자열이 비어 있어도 메모리의 같은 위치를 가리 키지 않기 때문에 결코 작동하지 않습니다. 같은. NSString의'isEqualToString' 메쏘드는 두 문자열의 문자를 비교합니다. 여러분이 정말로 원하는 것입니다. –

관련 문제