根据我的阅读,NSMutableArray添加了对象。

如何从给定位置打印Student对象变量,而无需将对象强制转换为Student

我正在寻找Java中的ArrayList<Student>之类的东西,以便可以轻松打印ArrayList.get(i).getNameArrayList.get(i).getPrice

    StudentRepository* myStudentRepo = [[StudentRepository alloc]init];

    Student* myStudent = [[Student alloc]init];

    myStudent.name = @"John";

    // add a Student to the NSMutableArray
    [myStudentRepo.studentRepository addObject:myStudent];

    NSLog(@"Value: %@", myStudentRepo.studentRepository);

    for(Student* myStudentItem in myStudentRepo.studentRepository)
    {
        NSLog(@"Value: %@", myStudentItem.name);
    }

    // print the Student from a given position
    NSLog(@"Value: %@", [(Student*)[myStudentRepo.studentRepository objectAtIndex:0] name]);

最佳答案

您发布的代码保持原样。在Objective-C / Cocoa中,没有Java的类型化集合等效。您需要转换结果。

实际上,您可以做一些小技巧:

NSLog(@"Value: %@", [myStudentRepo.studentRepository[0] valueForKey:@"name"]);

08-17 09:31