Collisions are not "generally OK". The underlying assumption is that the hash value of x is the hash value of y if and only if x == y. If you consider column 2, row 1 the same as column 1, row 2, then fine. But I don't think you do!...
Use NSNull() to get a null object, which you can then compare to another NSNull() to see if its empty or not.