Вы не используете NSLog()
правильно. NSLog()
предназначен для вызова со строкой постоянного формата (например, %@%%
) и передачи в аргументах. Вы предварительно анализируете эти аргументы, а затем передаете строку, которую хотите вывести, в NSLog()
, что не работает.
Когда вы пишете [NSString stringWithFormat:@"%@%%", @"Hello!"]
, возвращаемая строка будет @"Hello!%"
, что вы хотите напечатать. Однако, когда вы передаете его в NSLog()
, он думает, что это строка формата, которую необходимо проанализировать, видит знак процента и не знает, что делать (он ожидает получить что-то после знака процента), поэтому он игнорирует это. По сути, то, что вы делаете, это:
NSLog(@"Hello!%");
Попробуйте, и вы увидите, что это не сработает. Использование правильного вызова NSLog()
решит вашу проблему:
NSLog(@"%@%%", self.tName.text);
Читайте о NSLog()
и его переменном аналоге, NSLogv()
здесь .