037.isEqual 合理的重写
来源:互联网 发布:官路淘宝全文免费阅读 编辑:程序博客网 时间:2024/05/23 15:11
--------------- main.m ---------------
#import <Foundation/Foundation.h>
@interface FKUser : NSObject
@property (nonatomic , copy) NSString* name;
@property (nonatomic , copy) NSString* idStr;
- (id) initWithName: (NSString*) name idStr: (NSString*) idStr;
@property (nonatomic , copy) NSString* name;
@property (nonatomic , copy) NSString* idStr;
- (id) initWithName: (NSString*) name idStr: (NSString*) idStr;
@end
@implementation FKUser
- (id) initWithName: (NSString*) name idStr: (NSString*) idStr
{
if(self = [super init])
{
self.name = name;
self.idStr = idStr;
}
return self;
- (id) initWithName: (NSString*) name idStr: (NSString*) idStr
{
if(self = [super init])
{
self.name = name;
self.idStr = idStr;
}
return self;
}
- (BOOL) isEqual: (id) other
{
if (self == other)
return YES;
if (other != nil && [other isMemberOfClass:FKUser.class])
{
{
FKUser* target = (FKUser*)other;
return [self.idStr isEqual: target.idStr];
}
return NO;
}
}
return NO;
}
@end
int main()
{
{
FKUser* p1 = [[FKUser alloc] initWithName:@“孙悟空" idStr: @"12343433433"];
FKUser* p2 = [[FKUser alloc] initWithName:@"孙行者" idStr: @"12343433433"];
FKUser* p3 = [[FKUser alloc] initWithName:@"孙悟饭" idStr: @"99933433"];
NSLog(@"p1和p2是否相等?%d", [p1 isEqual: p2]);
NSLog(@"p2和p3是否相等?%d", [p2 isEqual: p3]);
}
一、编写本节代码的具体步骤:
1.可仿照第二章001节的代码编写步骤,可以把类的接口文件,类的实现文件写在main.m文件中。
二、本节代码涉及到的知识点:
1.本节代码重写了isEqual方法,指定了FKUser对象和其他对象相等的标准:
即:另一个对象必须是FKUser类的实例,且两个实例的idStr必须相等。
0 0
- 037.isEqual 合理的重写
- 037.isEqual 合理的重写
- 036.isEqual 不合理的重写
- 036.isEqual 不合理的重写
- iOS 重写isEqual方法
- 重写isEqual方法和hash方法
- Objective-c 重写 isEqual 和 hash 方法
- 重写isEqual方法和hush方法
- 重写isEqual方法和hash方法
- 学习笔记(objective-c)-重写isEqual方法
- NSObject的isEqual:方法
- isEqual
- isEqual
- iOS 重写 isequal方法需重写hash方法
- NSObject的isEqual方法初探
- iOS判断对象相等 重写isEqual、isEqualToClass、hash
- Object中 isequal,isEqualToString,!=的区别
- Ibatis中的isNotNull、isEqual、isEmpty的区别
- 【codevs1959】拔河比赛 随机化贪心
- Kafka学习1_kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
- 在config.json里面给图层添加新属性
- eclipse、myeclipse 打开当前文件所在文件夹的方法
- oracle各种索引介绍
- 037.isEqual 合理的重写
- 面向对象第五次作业
- 计算文件的MD5值
- 按键常规使用
- 036.isEqual 不合理的重写
- 使用mysql查询显示行号
- 冒泡排序算法及其简单优化(基于Java)
- Android四大基本组件介绍与生命周期
- 跟我一起学习windows驱动(PME接口)