根据我的阅读,NSMutableArray
添加了对象。
如何从给定位置打印Student
对象变量,而无需将对象强制转换为Student
。
我正在寻找Java中的ArrayList<Student>
之类的东西,以便可以轻松打印ArrayList.get(i).getName
,ArrayList.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"]);