Чтобы добавить к ответу, который у вас уже есть - Да, вы можете.
Вы можете иметь статические переменные, которые видны всем объектам класса, поместив их вне блока реализации.
Вы можете иметь статические переменные, которые видны только внутри метода для всех объектов класса, объявив статическую переменную внутри метода.Если вы хотите увидеть пример этого, взгляните на шаблон, сгенерированный XCode для метода источника данных таблицы tableView:cellForRowAtIndexPath:
Вверху обычно есть объявление вроде:
static NSString *cellIdentifier = @"cellIdentifier";
Thisявляется статическим методом, но он доступен только в этом методе для других объектов этого класса.Это дает вам две вещи.Во-первых, немного более эффективное использование памяти при наличии одного хранилища для постоянного элемента.Во-вторых, инкапсуляция поддерживается наличием вспомогательной переменной, видимой только в методе, который использует эту переменную.