关闭

Foundation--NSSet

标签: 标准
32人阅读 评论(0) 收藏 举报
分类:

一、创建方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool
    {
        //集合中没有重复的元素,重复的元素会被过滤掉

        //标准创建方法
        NSSet *set1 = [NSSet setWithObjects:@"one",@"two",@"three",@"two", nil];
        NSLog(@"%@", set1);

        //副本创建方法
        NSSet *set2 = [NSSet setWithSet:set1];
        NSLog(@"%@", set2);

        //数组创建方法
        NSArray *str = @[@"one",@"two",@"three",@"two"];
        NSSet *set3 = [NSSet setWithArray:str];
        NSLog(@"%@", set3);

自定义类的对象在防止重复时 需要在.m文件中重写以下方法

-(NSUInteger)hash
{
    return YES;
    //在没有数值型属性的时候,返回YES,粗滤方法被屏蔽掉
}
-(BOOL)isEqual:(id)object
{
    if (self == object)
    {
        return YES;
    }
    if ([object isMemberOfClass:[self class]] == YES)
    {
            TRTeacher *t = object;
            if ([self.name isEqualToString:t.name] == YES && [self.course isEqualToString:t.course] == YES)
            {
                return YES;
            }
    }
    return NO;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:899次
    • 积分:42
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:3篇
    • 译文:1篇
    • 评论:0条
    文章分类
    文章存档