0

Iamは1つのアプリケーションを開発しています。配列から文字列を取得し、その文字列から.xmlを置き換えて次のページに移動します。戻ってそのコードを実行すると、アプリケーションはその置換文字列行でクラッシュします。以下は私のコードです。 。

  -(void)open:(UITapGestureRecognizer*)recognizer
  {
       NSInteger i=(recognizer).view.tag;
       NSMutableString *s1=[listoflessons objectAtIndex:i];
       [default1 setObject:s1 forKey:@"KeyToXmlFile"];
       NSLog(@"%@",[default1 objectForKey:@"KeyToXmlFile"]);
        [s1 replaceCharactersInRange:[s1 rangeOfString: @".xml"] withString: @""];
        [default1 setObject:s1 forKey:@"KeyToSelectedFile"];
        [listoflessons removeObjectAtIndex:i];
      [listoflessons insertObject:[default1 objectForKey:@"KeyToXmlFile"] atIndex:i];
        NSLog(@"%@",listoflessons);
       SecondViewCOntroller *snd=[[SecondViewCOntroller    alloc]initWithNibName:@"SecondViewCOntroller" bundle:nil];
       [self.navigationController pushViewController:snd animated:YES];
      }

それを避ける方法を教えてください。

4

1 に答える 1

1

私の推測では、「listoflessons」のオブジェクトはNSString型であり、NSMutableStringではありません。

この行を置き換えてみてください:

   NSMutableString *s1=[listoflessons objectAtIndex:i];

これとともに:

   NSMutableString *s1=[[NSMutableString alloc] initWithString:[listoflessons objectAtIndex:i]];
于 2012-04-05T13:10:40.400 に答える