I have a database model class that is a NSObject
. I have a set of these objects in a NSMutableArray
. I use indexOfObject:
to find a match. Problem is the model object's memory address changes. So I am overriding the hash
method to return the model's row ID. This however does not fix it. I also have to override the isEqual:
method to compare the value of the hash
method.
What does the isEqual:
method use to determine equality by default?
I'm assuming it uses the memory address. After reading the isEqual:
documentation I thought it used the value from the hash
method. Obviously, that is not the case as my attempt to override that value did not solve my initial problem.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…