Patrzę na poniższym kodzie źródłowym przykład Apple:Używając słowa kluczowego static w Objective-C podczas definiowania buforowanych zmiennej
/*
Cache the formatter. Normally you would use one of the date formatter styles (such as NSDateFormatterShortStyle), but here we want a specific format that excludes seconds.
*/
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) {
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm a"];
}
próbuje dowiedzieć się:
Dlaczego użyć statycznej słowo kluczowe?
W jaki sposób jest to związane ze zmienną w pamięci podręcznej, jeśli ustawiono wartość zerową za każdym razem, gdy wywoływana jest metoda.
Kod pochodzi z przykładu 4 w Tableview Suite demo
Witam @Andrew Grant, bardzo ładne wyjaśnienie, W tym przypadku, jak już wspomniałeś, niemożliwe jest zwolnienie go, załóżmy, że chcę go zwolnić i przypisać nową wartość do formatera daty, a następnie jak to zrobić. – Ranjit