una requisitos registro propiedad patentar para nombres nacional marcas marca instituto inscribir gratis etapas consulta como comerciales chile ios objective-c swift nslog

ios - requisitos - Por qué imprimir() en Swift no registra la marca de tiempo como NSLog en el objetivo C



registro de nombres comerciales (5)

Aquí hay una función sugerida que puede usar en lugar de imprimir ()

func printLog(log: AnyObject?) { let formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS " print(formatter.stringFromDate(NSDate()), terminator: "") if log == nil { print("nil") } else { print(log!) } }

Desde el fondo del Objective C cuando uso NSLog() , el NSLog() del texto con la marca de fecha y hora, pero cuando uso print() en Swift solo imprime el texto

Entonces, ¿hay una manera de hacer que imprima la marca de tiempo también, o estoy haciendo algo mal?


Este simplemente genera una marca de tiempo simple, pero se puede modificar fácilmente para incluir texto adicional si lo desea.

Además, se basa en un DateFormatter lazy para evitar costosas inicializaciones.

import Foundation class Timestamp { lazy var dateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS " return formatter }() func printTimestamp() { print(dateFormatter.string(from: Date())) } } let timestamp = Timestamp() timestamp.printTimestamp() // 2018-07-05 12:57:08.725 timestamp.printTimestamp() // 2018-07-05 12:57:08.727 (uses the same formatter)


Haga su propia función de clase para imprimir, por ejemplo, printWithDate () y anteponer la fecha a la salida. Luego puede usar esto en todas partes sin necesidad de agregar la fecha cada vez que quiera imprimir.


Porque la print no es NSLog . Es tan simple como eso.

NSLog es una herramienta de registro en Foundation que escribe en el NSLog registro del sistema de Apple que aparece en la consola.

print(…) es una función de impresión en Swift Standard Library que escribe en out estándar, que aparece en la consola en sesiones de depuración.

Puede agregar Date() a su parámetro de impresión para imprimir la fecha y hora actuales. (O la Date().description(with: Locale.current) para obtenerlo en su zona horaria local.)

O simplemente puede usar NSLog que también está disponible en Swift (si importa Foundation).


Rápido:

NSLog("this will print with dates")