2012-01-23 2 views
1

Я хочу переопределить этот метод для сравнения двух объектов.Override - (BOOL) isEqual: (id) object

-(BOOL)isEqual:(id)object 

Вызов функции

-(void)overridemethod(

custom class object1 isEqual: custom class object2 

)

определение функции

let suppose comparing the date parameter of two objects. Then how can i do that. 

Заранее спасибо

+0

Ваш вопрос не очень ясен, пожалуйста, вы можете объяснить, чего вы пытаетесь достичь? Вам просто нужно другое имя для метода (затем создать категорию NSObject), или вы хотите изменить формат языка (затем создать макрос #define) или что-то еще? – ikuramedia

+0

объясните больше .. функцию, которую вы хотите переопределить .. просто проверьте, равны ли два объекта, и верните BOOL, указав да для равных или НЕТ для равных. Какую функциональность вы хотите изменить? – Shubhank

+0

непонятно? u хотите переопределить для всех объектов? или для пользовательского класса? –

ответ

9

реализация часто принимают эту форму:

@interface MONInteger : NSObject 
{ 
@private 
    int value; 
} 

@property (nonatomic, assign, readonly) int value; 

@end 

@implementation MONInteger 
... 
- (BOOL)isEqual:(id)object 
{ 
    // MONInteger allows a comparison to NSNumber 
    if ([object isKindOfClass:[NSNumber class]]) { 
     NSNumber * other = object; 
     return self.value == other.intValue; 
    } 
    else if (![object isKindOfClass:self.class]) { 
     return NO; 
    } 
    MONInteger * other = object; 
    return self.value == other.value; 
} 

@end 
+0

Вместо NSNumber я хочу сравнить строку, чем то, как я могу это сделать .. – Murtz

+1

для сравнения строк, вы часто использовали '- [NSString isEqualToString:]' , – justin

+0

Я отредактировал мой вопрос, надеюсь, вы теперь поймете, о чем я прошу? – Murtz

Смежные вопросы