• Person 排序 方法重写


    main.m

    //
    //  Person.m
    //  sort
    //
    //  Created by syrcfwzx on 16/1/7.
    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.
    //
    
    #import "Person.h"
    
    @implementation Person
    -(instancetype)initWithClasses:(NSString*)c andName:(NSString*)n andAge:(int)a
    {
        self=[super init];
        if(self)
        {
           self.classes=c;
           self.name=n;
           self.age=a;
        }
        return self;
        
    }
    -(NSString*)description
    {
        return [NSString stringWithFormat:@"class=%@ name=%@ age=%d",self.classes,self.name,self.age];
    }
    
    -(NSComparisonResult)compareWithClassesAndName:(Person*)p
    {
        NSComparisonResult result =[self.classes compare:p.classes];
        if(result ==NSOrderedSame)
        {
            return [self.name compare:p.name];
        }
        else
        {
        return result;
        }
    }
    -(NSComparisonResult)compareWithAge:(Person*)p
    {
        if(self.age ==p.age)
        {
            return NSOrderedSame;
        }
        else if (self.age >p.age)
        {
            return NSOrderedDescending;
        }
        else
        {
            return NSOrderedAscending;
        }
    }
    
    
    
    @end

    .h

    //
    //  Person.h
    //  sort
    //
    //  Created by syrcfwzx on 16/1/7.
    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    @property NSString* classes;
    @property NSString* name;
    @property int age;
    
    -(instancetype)initWithClasses:(NSString*)c andName:(NSString*)n andAge:(int)a;
    -(NSComparisonResult)compareWithClassesAndName:(Person*)p;
    -(NSComparisonResult)compareWithAge:(Person*)p;
    
    
    @end

    .m

    //
    //  Person.m
    //  sort
    //
    //  Created by syrcfwzx on 16/1/7.
    //  Copyright (c) 2016年 syrcfwzx. All rights reserved.
    //
    
    #import "Person.h"
    
    @implementation Person
    -(instancetype)initWithClasses:(NSString*)c andName:(NSString*)n andAge:(int)a
    {
        self=[super init];
        if(self)
        {
           self.classes=c;
           self.name=n;
           self.age=a;
        }
        return self;
        
    }
    -(NSString*)description
    {
        return [NSString stringWithFormat:@"class=%@ name=%@ age=%d",self.classes,self.name,self.age];
    }
    
    -(NSComparisonResult)compareWithClassesAndName:(Person*)p
    {
        NSComparisonResult result =[self.classes compare:p.classes];
        if(result ==NSOrderedSame)
        {
            return [self.name compare:p.name];
        }
        else
        {
        return result;
        }
    }
    -(NSComparisonResult)compareWithAge:(Person*)p
    {
        if(self.age ==p.age)
        {
            return NSOrderedSame;
        }
        else if (self.age >p.age)
        {
            return NSOrderedDescending;
        }
        else
        {
            return NSOrderedAscending;
        }
    }
    
    
    
    @end
  • 相关阅读:
    【repost】JavaScript 运行机制详解:再谈Event Loop
    【repost】学JS必看-JavaScript数据结构深度剖析
    【repost】JavaScript 基本语法
    【repost】前端学习总结(二十三)——前端框架天下三分:Angular React 和 Vue的比较
    【repost】jQuery笔记总结
    【repost】javascript:;与javascript:void(0)使用介绍
    jQuery对象与DOM对象之间的转换方法
    EBS_DBA_问题:主键insert引起的死锁
    BI_开发_问题:ORA-26002: Table DWH.W_XACT_TYPE_D has index defined upon it.
    BI_开发_问题:到target库中的字符为?
  • 原文地址:https://www.cnblogs.com/hezhuangzhuang/p/5115486.html
Copyright © 2020-2023  润新知