Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS中的UISegmentedControl_Ios_Objective C_Uitableview - Fatal编程技术网

iOS中的UISegmentedControl

iOS中的UISegmentedControl,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我使用的是UISegmentedControl和UITableView,但我的查询是段按钮1单击并显示“是”的数据,2按钮单击并显示“否”中的数据,并将A添加到Z部分UITableView第一个按钮单击正确的数据显示并正确地显示“表视图”部分atoz显示,但第二个按钮单击并显示应用程序崩溃`  #import "ZnameViewController.h" #import "ZpaleoViewController.h" #import "SWRevealViewController.h"

我使用的是
UISegmentedControl
UITableView
,但我的查询是段按钮1单击并显示“是”的数据,2按钮单击并显示“否”中的数据,并将A添加到Z部分
UITableView
第一个按钮单击正确的数据显示并正确地显示“表视图”部分atoz显示,但第二个按钮单击并显示应用程序崩溃`

 #import "ZnameViewController.h"
 #import "ZpaleoViewController.h"
 #import "SWRevealViewController.h"


 @interface ZnameViewController ()

 @end



@implementation ZnameViewController
@synthesize strname1,sagmentController,objtbl,name;

   - (void)viewDidLoad {
      [super viewDidLoad];



      SWRevealViewController *revealViewController = self.revealViewController;
    if ( revealViewController )
    {
        [self.slide setTarget: self.revealViewController];
        [self.slide setAction: @selector( revealToggle: )];
         [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
     }



     appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    databse = [FMDatabase databaseWithPath:appdelegate.appDBPath];

    [arrCatname removeAllObjects];
     [arrPaleo removeAllObjects];

     arrCatname = [[NSMutableArray alloc]init];
     arrPaleo = [[NSMutableArray alloc]init];
      arrStatus = [[NSMutableArray alloc]init];
      arrCat2 = [[NSMutableArray alloc]init];
      arrSta2 = [[NSMutableArray alloc]init];

      [self segmentSwitch:self];






// Do any additional setup after loading the view.
   }


 - (IBAction)segmentSwitch:(id)sender {



   [databse open];

   NSString *selectQuery = [NSString stringWithFormat:@"select * from Food ORDER BY name ASC"];
   NSLog(@"%@",selectQuery);
   FMResultSet *resultQuary = [databse executeQuery:selectQuery];
    while ([resultQuary next]) {





       //  NSString *z_paleo = [resultQuary stringForColumn:@"status"];
       z_paleo = [NSString stringWithFormat:@"%d",[resultQuary intForColumn:@"status"]];


      if ([z_paleo isEqualToString:@"1"]) {

        if(z_name ==  nil || [z_name isKindOfClass:[NSNull null]])

        {
            [arrPaleo addObject:@""];

        }
        else{
            [arrPaleo addObject:z_name];


         }

          [arrSta2 addObject:z_paleo];
        }

         else{

           if(z_name ==  nil || [z_name isKindOfClass:[NSNull null]])

           {
               [arrCatname addObject:@""];

            }

            else

           {
               [arrCatname addObject:z_name];

           }

           [arrCat2 addObject:z_paleo];
        }

   }
   [databse close];



     if(sagmentController.selectedSegmentIndex == 0)
    {
         if ([z_paleo isEqualToString:@"1"]) {
           [self getName:arrPaleo];
           objtbl.hidden = NO;

       }        

     }

      else if (sagmentController.selectedSegmentIndex == 1)
    {
       if ([z_paleo isEqualToString:@"0"]) {
           [self getName:arrCatname];
           objtbl.hidden = NO;
        }
    }

   [objtbl reloadData];

}

      -(void)getName:(NSMutableArray *)arr
     {


       NSMutableArray *temp = [[NSMutableArray alloc] init];
       NSMutableArray *temp2 = [[NSMutableArray alloc] init];
       for(int i = 0; i < arr.count; i++)
      {
          NSString *string = [arr objectAtIndex:i];
          dict = [[NSMutableDictionary alloc] init];
          [dict setObject:string forKey:@"Name"];
          [dict setObject:[NSNumber numberWithInt:i] forKey:@"ID"];
          NSString *firstString = [string substringToIndex:1];
          if([temp2 containsObject:firstString] == NO || temp2.count == 0)
          {
            if(temp2.count != 0)
            {
                [temp addObject:temp2];

                temp2 = [[NSMutableArray alloc] init];
            }
            [temp2 addObject:firstString];
          }
           [temp2 addObject:dict];

        }
       [temp addObject:temp2];
        sorted = [[NSArray alloc] initWithArray:temp];

 }

 -(void)getname2:(NSMutableArray *)array{


  NSMutableArray *temp = [[NSMutableArray alloc] init];
  NSMutableArray *temp2 = [[NSMutableArray alloc] init];
   for(int i = 0; i < array.count; i++)
   {
     NSString *string = [array objectAtIndex:i];
     dict1 = [[NSMutableDictionary alloc] init];
     [dict1 setObject:string forKey:@"Name"];
     [dict1 setObject:[NSNumber numberWithInt:i] forKey:@"ID"];
     NSString *firstString = [string substringToIndex:1];
       if([temp2 containsObject:firstString] == NO || temp2.count == 0)
      {
        if(temp2.count != 0)
        {
            [temp addObject:temp2];

             temp2 = [[NSMutableArray alloc] init];
        }
           [temp2 addObject:firstString];
       }
       [temp2 addObject:dict1];

     }
    [temp addObject:temp2];
    sorted1 = [[NSArray alloc] initWithArray:temp];




      }


   - (NSInteger)tableView:(UITableView *)tableView  sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
   {

       int i = 0;
       for(NSArray *array in sorted)
       {
           NSString *string = [array objectAtIndex:0];
            if([string compare:title] == NSOrderedSame)
            break;
            i++;
         }
         return i;




  }

  -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
     if (sagmentController.selectedSegmentIndex == 0) {

           return [sorted count];
       }else {

          return [sorted count];
      }


    }

     - (NSString *)tableView:(UITableView *)tableView  titleForHeaderInSection:(NSInteger)section
     {


         NSArray *array = [sorted objectAtIndex:section];
         return [array objectAtIndex:0];




   //return [foodIndexTitles objectAtIndex:section];

请提供崩溃日志..第二段按钮单击并[\u NSCFConstantString substringto Index:]:索引1超出范围;字符串长度0错误
-       (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
     {


    NSMutableArray *titleArray = [NSMutableArray array];
     [titleArray addObject:@"A"];
     [titleArray addObject:@"B"];
     [titleArray addObject:@"C"];
     [titleArray addObject:@"D"];
     [titleArray addObject:@"E"];
     [titleArray addObject:@"F"];
     [titleArray addObject:@"G"];
     [titleArray addObject:@"H"];
     [titleArray addObject:@"I"];
     [titleArray addObject:@"J"];
     [titleArray addObject:@"K"];
     [titleArray addObject:@"L"];
     [titleArray addObject:@"M"];
     [titleArray addObject:@"N"];
     [titleArray addObject:@"O"];
     [titleArray addObject:@"P"];
     [titleArray addObject:@"Q"];
     [titleArray addObject:@"R"];
     [titleArray addObject:@"S"];
     [titleArray addObject:@"T"];
     [titleArray addObject:@"U"];
     [titleArray addObject:@"V"];
     [titleArray addObject:@"W"];
     [titleArray addObject:@"X"];
     [titleArray addObject:@"Y"];
     [titleArray addObject:@"Z"];
     return titleArray;



     }


    - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
   }
   -(NSInteger)tableView:(UITableView *)tableView  numberOfRowsInSection:(NSInteger)section{

     if (sagmentController.selectedSegmentIndex == 1) {

        NSArray *array = [sorted objectAtIndex:section];
         return (array.count - 1);

       }else{

         NSArray *array = [sorted objectAtIndex:section];
        return (array.count - 1);

     }




   }




    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

     static NSString *cellIdentifire = @"Cell";

      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifire];

      if (cell == nil) {
       cell = [[UITableViewCell     alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifire];
}


           if (sagmentController.selectedSegmentIndex == 0) {


           NSArray *array = [sorted objectAtIndex:indexPath.section];
           dict = [array objectAtIndex:indexPath.row + 1];

        cell.textLabel.text = [dict objectForKey:@"Name"];
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
        cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Yes_check.png"]];
                [cell.accessoryView setFrame:CGRectMake(0, 0, 15, 15)];


     }
     else
      {
       NSArray *array = [sorted objectAtIndex:indexPath.section];
        dict = [array objectAtIndex:indexPath.row + 1];
        cell.textLabel.text = [dict objectForKey:@"Name"];

       cell.accessoryType = UITableViewCellAccessoryCheckmark;
          cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"No.png"]];
    [cell.accessoryView setFrame:CGRectMake(0, 0, 15, 15)];
         return cell;

         }



         return cell;

      }