Person *p1 = [Person new];
Person *p2 = [Person new];
Person *p3 = [Person new];
Person *p4 = [Person new];
NSArray *arr = @[p1, p2, p3, p4];
/*
[arr enumerateObjectsUsingBlock:^(Person *obj, NSUInteger idx, BOOL *stop) {
[obj say];
}];
*/
// 如果使用OC数组存储对象, 可以调用OC数组的方法让数组中所有的元素都执行指定的方法
// 注意点: 如果数组中保存的不是相同类型的数据, 并且没有相同的方法, 那么会报错
// [arr makeObjectsPerformSelector:@selector(say)];
// withObject: 需要传递给调用方法的参数
[arr makeObjectsPerformSelector:@selector(sayWithName:) withObject:@"lnj"];