Как просмотреть содержание переменной NSDictionary в отладчике XCode?

if ( $my_infile.Length -gt 0 ) {
  [string] $full_name_infile = $my_dir + "\" + $my_infile
  $f1 = Get-Content($full_name_infile) -ErrorAction Stop
  if ( $f1.count -gt 0 ) { 
       [string] $fout1_dir = $my_dir 
       [string] $fout1_name = $fout1_dir + "\"  + $my_infile + ".temp"
       $fmode = [System.IO.FileMode]::Append
       $faccess = [System.IO.FileAccess]::Write
       $fshare = [System.IO.FileShare]::None
       $fencode = [System.Text.ASCIIEncoding]::ASCII
       $stream1 = New-Object System.IO.FileStream $fout1_name, $fmode, $faccess, $fshare
       $fout1 = new-object System.IO.StreamWriter $stream1, $fencode
  }

  for ( $x=0; $x -lt $f1.count; $x++ ) {
    $line = $f1.Get( $x )
    if ( $line.length -eq 0 ) {
       $nop=1
    } else {
         if (  $line.Substring( $line.Length-1 , 1 ) -eq "," ) { $line = $line + " "; }
         $fout1.WriteLine( $line );
    }

  }
  $fout1.Close()
  $fout1.Dispose()
  move-item  $fout1_name $full_name_infile -force 
}  
85
задан Ned Batchelder 9 November 2008 в 22:29
поделиться

2 ответа

В gdb окне можно использовать po для осмотра объекта.

данный:

NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];

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

(gdb) po dict
{
  bar = foo;
  buz = fiz;
}

, Конечно, это NSString объекты та печать приятно. YMMV с другими сложными объектами.

139
ответ дан craigb 5 November 2019 в 15:59
поделиться

Можно щелкнуть правой кнопкой по любому объекту (ObjC или Базовая Основа) переменная и выбрать Описание “Print к Console” (также в Выполненном-> Представление переменных). Это печатает результат метод obejct’s -debugDescription, который вызовами по умолчанию -description. К сожалению, NSDictionary переопределения это для создания набора внутренних данных Вы обычно don’t забота о, таким образом, в этом конкретном случае craigb’s решение лучше.

отображенные ключи и значения также используют -description, поэтому если Вы хотите полезную информацию о своих объектах в наборах и в другом месте, переопределение -description является необходимостью. Я обычно реализую его вдоль этих строк, для соответствия формату значения по умолчанию NSObject реализация:

-(NSString *) description
{
    return [NSString stringWithFormat:@"<%@ %p>{foo: %@}", [self class], self, [self foo]];
}
30
ответ дан Jens Ayton 5 November 2019 в 15:59
поделиться