2016-10-06 3 views
-3

J'ai un tableau avec les employés et leur salaire. J'ai besoin d'itérer le tableau et de sortir un employé avec le salaire le plus bas dans le tableau.Comment puis-je itérer un tableau avec le type NSString et taper int et obtenir l'élément NSString avec le plus petit int?

//array 
@property(strong,nonatomic) NSMutableArray<Employee *> *employees; 

-(void) addEmployeeWithName:(NSString *)employeesName andLastName:(NSString *) employeesLastName andSalary:(int)employeesSalary; 

//implementation of method 
-(void) addEmployeeWithName:(NSString *)employeesName andLastName:(NSString *)employeesLastName andSalary:(int)employeesSalary 
{ 
    Employee *myEmp =[[Employee alloc] initWithFirstName:employeesName lastName:employeesLastName salary:employeesSalary]; 

    [self.employees addObject:myEmp]; 
} 

//In main() function something like this: 
Employee *emp1 = [[Employee alloc] initWithFirstName:@"Bob" lastName:@"Lan" salary:1]; 
Employee *emp2 = [[Employee alloc] initWithFirstName:@"Ivan" lastName:@"Pal" salary:22]; 
+0

J'ai essayé de le faire avec la plus petite valeur, et après cela j'ai besoin pour obtenir l'élément NSString. À ce stade, je ne comprends pas comment je peux le faire. –

+1

Mettez à jour votre question avec votre tentative actuelle pour résoudre le problème. Inclure les détails de ce problème que vous rencontrez avec ce code. – rmaddy

Répondre

0

question assez simple, même si je suis d'accord avec vous rmaddy aurait pu facilement trouvé une solution avec un simple Google query-- donc juste une note que vous devez apprendre à bien Google, parce que c'est l'un des les meilleures compétences dont vous avez besoin

Ce que vous devez faire est ce qu'on appelle l'énumération rapide

int lowestSalary = INT_MAX; 
Employee *lowestSalariedEmployee; 
for(Employee *employee in employees) 
{ 
    if([employee salary] < lowestSalary) 
    { 
    lowestSalary = [employee salary]; 
    lowestSalariedEmployee = employee; 
    } 
} 

//at this point, lowestSalariedEmployee will be a reference to your employee object with the lowest salary 

EDIT: vu vos commentaires sur la façon dont vous êtes confus comment obtenir le « élément de chaîne »

Vous devrez référencer votre classe Employee, et trouver le nom de votre "nom" @property, qui devrait être une chaîne