Все временно становится нулевым, когда что-то происходит - PullRequest
0 голосов
/ 04 июня 2018

В моем viewDidLoad() я называю это:

NSString *testString = @"https://test.com/?code=12345";
NSDictionary *testParams = [self parseRequest:testString];

Просто чтобы посмотреть, работает ли метод parseRequest.Метод вызывается просто отлично:

enter image description here

Но когда я делаю еще один шаг (т.е. выполняется любой код в методе), все становится nil и я не могу обработать urlString:

enter image description here

После того, как метод завершится, кажется, что все возвращается к нормальному состоянию (кромекод в методе parseRequest() сработал)

Я пробовал следующие вещи, ни одна из которых не работала:

  • Переместите содержимое метода в viewDidLoad() (всевсе еще становится nil, когда я действую на urlString)
  • Используя URL вместо NSString

РЕДАКТИРОВАТЬ: я сократил весь класс так же мало, как ямог.Вот окончательный результат:

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UILabel *failureLabel;
@property (weak, nonatomic) IBOutlet UIProgressView *loadingBar;

@end

@implementation ViewController 

- (void) viewDidLoad {
    [super viewDidLoad];

    NSString *testString = @"https://test.com/?code=12345";
    NSString *testParams = [self parseRequest:testString];
}

- (NSString *) parseRequest:(NSString *)urlString {
    NSLog(@"???");
    return @"";
}

@end

Это почти наверняка связано с UIWebView ... верно?(Я создаю webView в конструкторе интерфейсов, но даже если я ничего не делаю с ним, я все равно получаю эту проблему)

1 Ответ

0 голосов
/ 04 июня 2018

Значения уже есть, отладчик может не отображать значение переменных, поскольку

  1. Уровень оптимизации для текущей конфигурации не установлен на None во время отладки.enter image description here

  2. Вы выполняете отладку с использованием конфигурации выпуска, где оптимизация по умолчанию является самой высокой (самой быстрой, самой маленькой), как показано на изображении выше.

enter image description here

Просто NSLog переменная urlString, и она должна вывести значение, даже если LLDB показывает его как ноль.

...