Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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中使用可变数组获得所需的字典结果_Ios_Objective C_Arrays - Fatal编程技术网

如何在ios中使用可变数组获得所需的字典结果

如何在ios中使用可变数组获得所需的字典结果,ios,objective-c,arrays,Ios,Objective C,Arrays,我有三个可变数组: wkdatearray值如下:日期从2016-01-10到2016-01-16 spentonarray值如下:2016-01-10至2016-01-13 小时数组值如下:7,3,4,5,1 因此,我将wkdatearray和spentarray的索引对象进行如下比较: for (int i = 0; i < self.wkDateArray.count; i++) { for (int j = 0; j < self.spentonArray.count; j

我有三个可变数组:

  • wkdatearray值如下:日期从2016-01-10到2016-01-16

  • spentonarray值如下:2016-01-10至2016-01-13

  • 小时数组值如下:7,3,4,5,1

  • 因此,我将wkdatearray和spentarray的索引对象进行如下比较:

    for (int i = 0; i < self.wkDateArray.count; i++) {
     for (int j = 0; j < self.spentonArray.count; j++) {
      if ([
        [self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: j]
       ]) {
    
       NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAtIndex: i]);
      } else {
    
      }
     }
    
    如果self.wkdatearray和self.spentonarray的索引值不匹配且不相等,则self.wkdatearray[0]的小时数值将像这样@“”作为对象。就像在新闻纸字典中一样。现在,我将self.wkdatearray[0…6]的默认对象值设置为@“”

    这里的小时数组只有5个值

    如何在for循环中同时满足这两个条件?或者还有其他方法吗?

    如果使用“匹配或等于”,则表示索引相同且字符串匹配

    for (int i = 0; i < self.wkDateArray.count; i++) {
     for (int j = 0; j < self.spentonArray.count; j++) {
      if (i==j && [
        [self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: j]
       ]) {
    
       NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAtIndex: i]);
      } else {
    
      }
     }
    
    for(int i=0;i

    注意if语句的开头,该语句具有if(i==j&&…

    首先使新闻纸字典可变。循环不需要2个

    int minIndexCount = MIN(self.wkdatearray.count, self. spentonArray.count)
    
    我们首先取
    wkdatearray.count
    spentonArray.count
    的最小值,因为例如,如果
    spentonArray
    中只有两个项目,那么如果我们尝试使用
    wkdatearray
    的索引4,那么
    spentonArray
    中就没有索引4,这意味着
    wkda>和
    的索引都是主要条件tearray
    spentonArray
    应该相等。因此,通过取min,我们确保只比较
    wkdatearray
    spentonArray
    中可用的索引

    for (int i = 0; i < minIndexCount; i++) {
       if ([[self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: i]]) 
       {
    
          NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAt Index: i]);
          [newSheet setValue:self.hoursarray[i] forKey:self.weekArray[i]]
    
       } else {
    
       }
    }
    
    for(int i=0;i
    @Rob先生,请帮我解决这个问题sir@Etienne先生,怎么做,先生,帮帮我,先生,任何人都请帮我。在其他方面,我要说什么,先生(int i=0;我这里的wkstartdate从2016-01-31到2016-02-05,其中spentonarray从2016-01-31到2016-02-04在比较索引时出错。索引超出…因此我必须检查已用数组索引null是否为null。我必须自行分配此值。hoursarray[i]=@“;如何正确设置条件
    for (int i = 0; i < minIndexCount; i++) {
       if ([[self.wkDateArray objectAtIndex: i] isEqualToString: [self.spentonArray objectAtIndex: i]]) 
       {
    
          NSLog(@ "Matched Indexes %d %@", i, [self.wkDateArray objectAt Index: i]);
          [newSheet setValue:self.hoursarray[i] forKey:self.weekArray[i]]
    
       } else {
    
       }
    }