文字列を NSString var に渡そうとしていますが、文字列の末尾にゴミが入っています。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
mySegue = cell.textLabel.text;
NSLog(@"%@",mySegue);
if ([[self category] isEqualToString:@"restaurantes"])
[self performSegueWithIdentifier:@"restaurante" sender:self];
else if ([[self category] isEqualToString:@"bares"]){
[self performSegueWithIdentifier:@"bar" sender:self];
}
else if ([[self category] isEqualToString:@"cafes"]){
[self performSegueWithIdentifier:@"cafe" sender:self];
}
}
NSSlog は正しい文字列を出力しますが、デバッグ領域には文字列の末尾にゴミが表示されます。下の画像に示すように。mySegue var と nslog からの出力を参照してください。 デバッグ http://i63.photobucket.com/albums/h134/automud/ScreenShot2013-01-21at35430PM.png
cell.textlabel.text はこのように設定されています
cell.textLabel.text = [restauranteArray objectAtIndex:row];
restauranteArray はこのように設定されています
NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"RestaurantesList" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
self.restaurante = dictionary;
self.restauranteArray = [self.restaurante allKeys];
魔女はこのplistから来ます
plist http://i63.photobucket.com/albums/h134/automud/ScreenShot2013-01-21at42638PM.png
では、なぜこのゴミが文字列の最後にあるのでしょうか?
編集-------------- varを使用して次のviewcontrollerに渡します
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"restaurante"]){
PCDetailViewController *detailController = (PCDetailViewController *)segue.destinationViewController;
detailController.estabelecimento = mySegue;
detailController.tipo = @"Restaurante";
}
}
viewDidLoad の次のビューコントローラーで、私はこれを持っています
self.estabelecimentoArray = [self.estabelecimentoDic objectForKey:estabelecimento];
objectForKey:estabelecimento を試しても、文字列が一致しないため何も得られません
編集 - - - - - - -
ここでは、出力が Capitão Grill であることがわかりますが、var は Capitão Grill グリルの ゴミです http://i63.photobucket.com/albums/h134/automud/ScreenShot2013-01-21at50213PM.png