Den största skillnaden mellan svag och oägd är att svag är valfri medan oägd är icke-valfri Genom att förklara den svag får du hantera fallet att den kan vara noll i stängning någon gång. Om du försöker komma åt en oägd variabel som råkar vara noll kommer den att krascha hela programmet.
När ska du använda oägd eller svag?
Använd en svag referens när den är giltig för att referensen blir noll någon gång under dess livstid. Omvänt, använd en oägd referens när du vet att referensen aldrig kommer att vara noll när den väl har ställts in under initieringen.
Vad är skillnaden mellan svag och oägd?
Den första skillnaden du behöver veta om är att en oägd referens alltid förväntas ha ett värde.… När det händer sätts referensen till nil. Eftersom en svag referens kan ställas in på noll, deklareras den alltid som en valfri. Det är den andra skillnaden mellan svaga och oägda referenser.
Vad är skillnaden mellan en svag referens och en oägd referens?
Både svaga och oägda referenser påverkar inte referensantalet för objektet. Men svag referens kommer alltid att vara valfri, dvs. den kan vara noll, medan oägda referenser aldrig kan vara noll, så de kommer aldrig att vara valfria.
Vad är starkt, svagt och oägt?
Den viktigaste skillnaden mellan en stark och en svag eller oägd referens är att en stark referens förhindrar klassinstansen den pekar på från att deallokeras. Det är väldigt viktigt att förstå och komma ihåg. … Med andra ord, svaga och oägda referenser kan inte hindra en klassinstans från att deallokeras