Mensaje de error posterior a la excepción de IOS: La referencia del objeto no está configurada como una instancia del objeto.
ns data * return data =[nsurlconnectionsendsynchronousrequest: solicitud que devuelve respuesta: nil error: nil];
El segundo parámetro no se puede pasar a nil. Debe pasar la dirección de un puntero de respuesta para completar algunos datos, que pueden no ser útiles (normalmente no), pero son necesarios.
Basta con pasarle la dirección del puntero NSURLResponse y el sistema nos ayudará a rellenar el contenido de este puntero sin necesidad de generar manualmente la fuerza de la respuesta.
NSURLResponse * respuesta = nil
NSError * error = nil
ns data * data =[nsurlconnectionsendsynchronousrequest: solicitud que devuelve respuesta: amp; error de respuesta: error de amp; ];
Puedes ver la documentación del método sendSynchronousRequest:
Existe esta oración:
@param
respuesta an parámetro out, utilice
para cargar la respuesta generada por la ejecución.
El segundo parámetro (respuesta) es el parámetro de salida utilizado para recibir datos de salida. La respuesta generada durante el proceso de carga (generada por el sistema o API) se completará con la dirección del puntero de respuesta que le diste.
Por lo tanto, si proporciona una dirección vacía, el sistema definitivamente no podrá completar la respuesta, por lo que se informará un error.
Tenga en cuenta que aunque declaramos NSURLResponse * respuesta = nil, la respuesta se refiere a una dirección vacía, pero el tipo pasado en el segundo parámetro es NSURLResponse **, es decir, la dirección de respuesta se pasa, es decir Es decir, cuando se declara una variable (incluidas las variables de puntero), se le asignará una dirección para almacenar su contenido. Una variable de puntero también tiene una dirección para almacenarla, pero el contenido de esta dirección es otra dirección. Aquí, cuando declaramos una respuesta, NSURLResponse * respuesta = nil. No importa cuál sea el contenido de la respuesta, tiene su propia dirección. Supongamos que A es una dirección real asignada en la pila (las variables locales asignan espacio en la pila) y no está vacía. El contenido de A es nulo, que es lo que le pasamos cuando lo declaramos. Estamos pasando uno, por lo que el sistema estará en uno. Si envía un cero y el sistema lo llena con datos, entonces debe haber un error.