Я пришел с php-фона ... так что мне было интересно, есть ли такая вещь, как var_dump
для Xcode, я знаю о NSLog
, но я хочу, чтобы она действовала как var_dump
.Есть ли var_dump в Xcode?
Есть ли функция для этого?
Я пришел с php-фона ... так что мне было интересно, есть ли такая вещь, как var_dump
для Xcode, я знаю о NSLog
, но я хочу, чтобы она действовала как var_dump
.Есть ли var_dump в Xcode?
Есть ли функция для этого?
В коде:
NSLog(@"%@", myVar);
что эквивалентно
NSLog(@"%@", [myVar description]);
Или в отладчике: щелкните правой кнопкой мыши на переменной и выберите "Печать".
Если вы хотите проверить объекты своих классов таким образом, вам необходимо реализовать метод -(NSString *)description
для этих классов.
NSObject
определяет метод description
, который предоставляет описание объекта. Реализация по умолчанию просто печатает имя класса, но оно обычно переопределяется подклассами, чтобы обеспечить более содержательное описание их содержимого.
Это, например, случай NSArray
и NSDictionary
, реализация которого создает NSString
, представляющий объекты, хранящиеся в коллекции.
Когда вы
NSLog(@"%@", anObject);
description
автоматически вызывается на объекте, чтобы получить текстовое представление о нем.
Также в отладчике вы можете сделать
po anObject
для достижения того же результата.
В нижней строке, если вам нужно предоставить представление пользовательского класса, который вы внедрили, путь к переопределению description
.
В быстром вы можете использовать дамп (var), который использует зеркало для самоанализа и полезен для классов.
Например:
let pet = Pet(name:"Max", age: 4)
let adam = Person(name:"Adam", age: 30, pet:pet)
print("\(pet)")
print("\(adam)")
print("======")
dump(pet)
dump(adam)
Выход будет:
Pet
Person
======
▿ Pet #0
- name: "Max"
- age: 4
▿ Person #0
- name: "Adam"
- age: 30
▿ pet: Optional(Pet)
▿ some: Pet #1
- name: "Max"
- age: 4
Как насчет NSLog (@ "% @", [описание MYVAR])? – Macondo2Seattle
Возможный дубликат [Как сбрасывать данные, хранящиеся в объекте-c (NSArray или NSDictionary)] (http://stackoverflow.com/questions/289241/how-to-dump-data-stored-in-objective-c- object-nsarray-or-nsdictionary) – jycr753
@BlackRider делает это для массивов? –