Objective c NSMutableDictionary无法检索对象

Objective c NSMutableDictionary无法检索对象,objective-c,ios,xcode,Objective C,Ios,Xcode,为什么此代码无法检索名称??并且出现了错误 有三件事可能会有帮助 使用-setObject:forKey:代替-setValue:forKey 使用objectForKey而不是valueForKey,因为您使用的是自定义类 通常,使用objective-c样式的-NSLog()代替c样式的代码会更容易 确保已导入包含Employees类定义的头文件,而不是仅将其用作当前.m文件中的转发类 有三件事可能会有帮助 使用-setObject:forKey:代替-setValue:forKey 使用o

为什么此代码无法检索名称??并且出现了错误

有三件事可能会有帮助

  • 使用
    -setObject:forKey:
    代替
    -setValue:forKey
    使用
    objectForKey
    而不是
    valueForKey
    ,因为您使用的是自定义类
  • 通常,使用objective-c样式的
    -NSLog()
    代替c样式的代码会更容易
  • 确保已导入包含Employees类定义的头文件,而不是仅将其用作当前.m文件中的转发类

  • 有三件事可能会有帮助

  • 使用
    -setObject:forKey:
    代替
    -setValue:forKey
    使用
    objectForKey
    而不是
    valueForKey
    ,因为您使用的是自定义类
  • 通常,使用objective-c样式的
    -NSLog()
    代替c样式的代码会更容易
  • 确保已导入包含Employees类定义的头文件,而不是仅将其用作当前.m文件中的转发类

  • 您需要使用
    setObject:forKey
    objectForKey:
    方法,而不是
    setValue:forKey:
    valueForKey:
    您需要使用
    setObject:forKey
    objectForKey:
    方法,而不是
    setValue:forKey:
    valueForKey:
    您初始化了吗
    Dic1
    字典

    EmployeesArray = [[NSMutableArray alloc] initWithCapacity:100];
        Employees *Emp1 = [[Employees alloc] init];    
        Emp1.Number = 1;
        Emp1.Name = @"Jamal";
        Emp1.Age = 16;
        Emp1.Gender = @"Male";
      [EmployeesArray addObject:Emp1];
     [Dic1 setValue:Emp1 forKey:@"A"];
    
    - (IBAction)Retrieve:(id)sender {
    
      Employees *objEmp2 = [Dic1 valueForKey:@"A"];
        printf(objEmp2.Name);
    
    }
    

    您是否初始化了
    Dic1
    字典

    EmployeesArray = [[NSMutableArray alloc] initWithCapacity:100];
        Employees *Emp1 = [[Employees alloc] init];    
        Emp1.Number = 1;
        Emp1.Name = @"Jamal";
        Emp1.Age = 16;
        Emp1.Gender = @"Male";
      [EmployeesArray addObject:Emp1];
     [Dic1 setValue:Emp1 forKey:@"A"];
    
    - (IBAction)Retrieve:(id)sender {
    
      Employees *objEmp2 = [Dic1 valueForKey:@"A"];
        printf(objEmp2.Name);
    
    }
    

    改变也是同样的结果!!!尝试NSLog打印并发布您遇到的错误。ValueForKey是KVC,所以我认为可以使用它。更改也是同样的结果!!!尝试NSLog打印并发布您遇到的错误。ValueForKey是KVC,所以我认为可以使用它。所有条件都完成了!!同样的结果,错误!!没用!!所有条件都完成了!!同样的结果,错误!!没用!!