Не могу скопировать значение изменяемого массива в строку - PullRequest
0 голосов
/ 08 января 2011

Я очень благодарен за немедленный ответ, и я предоставляю вам свои методы парсера 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). я получил данные в массив и хочу проверить имя пользователя и пароль со значением textfields, если оно совпадает с массивом, то выполняется определенное действие. но почему-то я не могу получить доступ к данным в строке.

1 Ответ

0 голосов
/ 08 января 2011

Вы не даете подробных сведений о том, в чем проблема, поэтому просто догадываетесь ... Для вашего цикла в LoginClicked () вы можете сравнить, используя:

[currUser isEqualToString:objUser.userName]

Или любой другой метод сравнения строк. Но, может быть, ваша проблема в чем-то другом? В вашем методе "parser: didStartElement ..." вы имели в виду проверку элемента "пользователь", а не "allUser"? Так как вы выделяете только один объект Users, но пытаетесь проанализировать многие и вставить их в массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...