static NSString генерирует предупреждения компиляции - PullRequest
1 голос
/ 09 июля 2011

В простом подклассе NSObject, который соответствует протоколу NSCoding, я объявляю статический NSString в своем заголовочном файле:

static NSString *MYCodingKey = @"myPropertyName";
...

Интересно, почему XCode генерирует так много предупреждений оФакт, я заявляю, но не использую это.Я понимаю предупреждение, так как подкласс импортируется во многие файлы, и я не использую ключ для чего-то в каждом.Но значит ли это, что мой ключ каким-то образом «переопределяется» каждый раз, когда я импортирую заголовок?Разве оператор #import не предотвращает включение заголовка несколько раз?У меня наверняка нет предупреждения о том, что я объявил это несколько раз.

Я просто игнорирую эти предупреждения в то время, но я был бы рад прочитать об этом немного подробнее.

Спасибо.

1 Ответ

1 голос
/ 09 июля 2011

Ну, предупреждение в том, что у вас объявлена ​​переменная, но вы ее не используете. По сути, вы просто тратите пространство в разделе данных программ на вещи, которые никогда не собираетесь использовать. Некоторые компиляторы оптимизируют его и фактически удаляют, если символ не используется (не уверен, если это делает gcc с флагом objc).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...