Доступ к строке NSString из функции в стиле C за пределами функции - PullRequest
0 голосов
/ 12 декабря 2010

У меня есть функция в стиле C внутри файла Delegate.m в проекте iOS XCode. Функция объявляется в верхней части файла после нескольких «# import», «@implementation» и т. Д. Внутри этой функции C объявляется NSString и присваивается значение (URL). В:

приложение didFinishLaunchingWithOptions:

метод, все еще в файле Delegate.m, я хочу открыть этот URL в UIWebView. У меня есть весь код для этого, но на линии:

NSURL * myURL = [[NSURL alloc] initWithString: urlString];

Я получаю сообщение об ошибке:

'urlString' необъявленный

В функции C, где объявлено urlString, я получаю предупреждение:

Неиспользуемая переменная 'urlString'

Я объявляю строку NSString в функции C следующим образом:

NSString * urlString = [NSString stringWithFormat: @ "http://myurl.com/%d",myInt];

У меня есть некоторое представление о «переменной области», но я только начинаю с программирования, поэтому я не слишком уверен. Что-то явно пошло не так и будет очень признателен за любую помощь.

Большое спасибо.

1 Ответ

1 голос
/ 12 декабря 2010

В вашем коде переменная urlString существует только в своей области видимости, о которой вы упоминаете в стиле C-стиля.Он не существует / не находится за пределами своей области действия (функции).

Область действия переменной можно сделать глобальной, объявив ее в верхней части файла сразу после импорта.

NSURL *urlString;

Также измените строку, в которой вы его инициализируете, чтобы не объявлять его снова:

urlString = [NSString stringWithFormat:@"http://myurl.com/%d",myInt];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...