NSLog в файле .mm

#objective-c #cocoa #objective-c

#objective-c #cocoa #objective-c

Вопрос:

Как мне распечатать что-либо в консоль отладчика, если файл имеет расширение .mm?

Я пробовал NSLog и printf , но ни один из них ничего не показывает на консоли отладчика.

Ответ №1:

NSLog отлично работает в файлах .mm, а также в printf. Даже std::cout << "foo"; отлично работает в файлах .mm, потому что расширение помечает файлы как Objective-C file, так что вы можете смешивать C, C и ObjC там.

Если он ничего не выводит, убедитесь, что программа действительно достигает точки, в которой вы установили NSLog , вы можете установить несколько точек останова для этого, а затем выполнить один шаг по вашей программе.

Ответ №2:

Ваша проблема не имеет ничего общего с типом модуля компиляции («.mm» для Objective-C или «.m» для чистого Objective-C). NSLog а также printf работать на обоих языках.

Ваша проблема в другом.

Ответ №3:

Попробуйте импортировать <Foundation/Foundation.h>

Добавьте эту строку в начало вашего класса, это может помочь.

 #import <Foundation/Foundation.h>