В файле .h:
extern NSString * const MIN_INTERVAL_KEY;
В одном (!) .M файле:
NSString * const MIN_INTERVAL_KEY = @"MIN_INTERVAL_KEY";
И то, что вы, казалось, упустили, это на самом деле import
заголовочный файл, объявляющий MIN_INTERVAL_KEY ;-) Так что если вы объявили его в SmokingViewController.h
, но хотели бы использовать его в MinIntervalViewController.m
, то вам нужно import "SmokingViewController.h"
в вашем MinIntervalViewController.m
.Поскольку Objective-C действительно более или менее является расширением C, применяются все правила видимости C.
Кроме того, для отладки подобных вещей нужно щелкнуть правой кнопкой мыши файл .m в Xcode и выбрать «Preprocess».».Затем вы видите препроцесс файла, т.е. после того, как CPP выполнил свою работу.Это то, что ДЕЙСТВИТЕЛЬНО переваривает компилятор C.