施放“(NSInteger)self”是危险的吗?
我需要区分两个视图,而不是使用标记值。
如果它有危险,有什么想法吗?
答案 0 :(得分:3)
你的意思是你有两个UIView
指针,你想知道它们是否指向同一个对象?只需使用==
即可。不需要施放它们。如果你的意思是别的,你需要通过“区分两个观点”来提供更多关于你的意思的细节。
答案 1 :(得分:1)
忽略ARC可能经历的抽搐,将self
(或任何其他指针)强制转换为integer
并不危险。然而,施展另一个方向是非常危险的。
Objective-C有足够多的奇怪角落和黑暗的走廊,很难说,self
投射到一个整数将以有用的方式重现。
答案 2 :(得分:0)
NSObject
协议声明用于比较对象的isEqual:
方法。如果类的内容相等,则类可以覆盖它以将其实例定义为相等;否则两个实例将比较为不相等。
这是你应该真正用来区分对象的东西,而不是直接比较它们的指针值。但是,这样做是安全的。