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"];