Sobes.tech
Junior — Middle

Hogyan lehet megállapítani, hogy két objektum ugyanarra a memória területre hivatkozik-e?

sobes.tech MI

Válasz az MI-től

iOS-en (Swift vagy Objective-C) több módon is megállapítható, hogy két objektum ugyanarra a memória területre mutat-e:

  • Swift osztályok esetén: használja az === identitás operátort, amely ellenőrzi, hogy két változó ugyanarra az példányra mutat-e.
if objectA === objectB {
    print("Mindkét objektum ugyanarra az példányra mutat")
}
  • Objective-C-ben mutatók esetén: hasonlítsa össze a mutatókat közvetlenül.

  • Struktúrák (értéktípusok) esetén: az objektumokat másoláskor másolják, így az ugyanarra a memória területre mutató hivatkozások nem alkalmazhatók.

Ezért az === operátor a fő módszer annak ellenőrzésére, hogy két változó ugyanarra az objektumra mutat-e a memóriában.