泛型NSSet
泛型是用来告诉编译器NSSet内部存储的是什么类型的数据。
在已经设置泛型的NSSet对象中添加其它类型会报一个警告。
例如:
NSSet<Person *> *set = [NSSet set];
Person *person = [[Person alloc] init];
[set setByAddingObject:person];
Student *stu = [[Student alloc] init];
[set setByAddingObject:stu]; // 这里会报一个警告