정말 답장을 보내 주시면 고맙겠습니다. 그리고 내 xml 파서 방법을 제출하고 마지막 문제는 언급입니다.문자열에 변경 가능한 배열 값을 복사 할 수 없습니다.
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
currentElement = [elementName copy];
if([elementName isEqualToString:@"alluser"])
{
objUser = [[Users alloc] init];
}
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if([elementName isEqualToString:@"username"])
{
objUser.userName =[currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"%@",objUser.userName);
}
if([elementName isEqualToString:@"password"])
{
objUser.passWord = [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"%@",objUser.passWord);
}
if([elementName isEqualToString:@"user"])
{
[usersArray addObject:objUser];
[objUser release];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if(!currentElementValue)
{
currentElementValue = [[NSMutableString alloc] initWithString:string];
[currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
else
{
[currentElementValue appendString:string];
[currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
}
if([currentElementValue isEqualToString:@"User"])
{
[currentuser appendString:string];
}
if([currentElementValue isEqualToString:@"Pass"])
{
[currentpass appendString:string];
}
}
-(IBAction)backgroundclick:(id)sender
{
[txtpass resignFirstResponder];
[txtusername resignFirstResponder];
}
-(IBAction)returnPressed:(id)sender
{
[sender resignFirstResponder];
}
-(IBAction)LoginClicked:(id)sender
{
int cnt=0;
NSString *currUser = txtusername.text;
// NSString *passWord = txtpass.text;
// int i=0;
for(Users *objUser in usersArray)
{
/// how to get value and how to compare string...
}
return;
}
이 코드에서 변경할 수있는 배열은 (usersArray)입니다. 배열에 구문 분석 데이터가있어 특정 작업이 수행 된 배열과 일치하는 경우 텍스트 필드 값으로 사용자 이름과 암호를 확인하려고합니다. 하지만 어떻게 든 문자열에 액세스 할 수 없습니다.
안녕하세요, 편집기에서 {} 옵션으로 코드를 포맷하십시오. – fsaint
더 나은 코드 가독성을 위해 게시물의 형식을 지정하십시오. 그것은 당신을 도우려는 사람들을 도울 것입니다. :) – Altealice
나중에 코드를 올바르게 포맷하고 적어도 철자법 실수가 있는지 확인하십시오. 질문을하는 데 시간을 허비하지 않으면 왜 사람들은 대답을 귀찮게 할 것이라고 기대합니까? –