Así que he estado creando una aplicación y todo ha funcionado muy bien. Pero hoy hice una nueva clase como de costumbre y por alguna razón en esta clase no puedo acceder a la variable Pública / Global desde otras clases. Todas las otras clases pueden, pero ahora que intento hacer una nueva clase, no puedo. ¿Cómo se arreglaría esto?
Estoy usando Swift y Xcode 6.
Clase obrera:
import UIKit
import Foundation
import Parse
import CoreData
var signedIn = true
class ViewController: UIViewController {
Nueva clase:
import UIKit
class NewClass: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
signedIn = false
}
Pero en signedIn = false
Me sale el error:
uso del identificador no resuelto "firmado"
}
al final de suviewDidLoad()
Respuestas:
Un posible problema es que su nueva clase tiene un Objetivo diferente o Objetivos diferentes de la otra.
Por ejemplo, podría tener un objetivo de prueba mientras que el otro no. Para este caso específico, debe incluir todas sus clases en el objetivo de prueba o ninguna de ellas.
fuente
El 'uso de identificador no resuelto' en Swift también ocurre cuando se olvida de importar una biblioteca. Por ejemplo, tengo el error:
En el que olvidé el
UIKit
fuente
Una vez tuve este problema después de cambiar el nombre de un archivo. Cambié el nombre del archivo desde dentro de Xcode, pero luego Xcode no pudo encontrar la función en el archivo. Incluso una reconstrucción limpia no solucionó el problema, pero cerrar y luego volver a abrir el proyecto hizo que la construcción funcionara.
fuente
A veces, el compilador se confunde con la sintaxis de su clase. Esto sucede mucho si pega el código fuente desde otro lugar.
Intente reducir el archivo de origen "no resuelto" al mínimo, limpiando y construyendo. Una vez que se haya construido correctamente, vuelva a agregar toda la complejidad a su clase.
Esto me ha hecho desaparecer cuando reiniciar Xcode no funcionó.
fuente
Otro lugar en el que he visto este error es cuando su proyecto tiene varios objetivos Y varios encabezados de puente . Si es una clase compartida, asegúrese de agregar el recurso a todos los encabezados de puente.
Un buen consejo es mirar en el panel izquierdo del Navegador de problemas; el objeto raíz mostrará el objetivo que está emitiendo la denuncia.
fuente
Para mí, este error ocurrió porque estaba intentando llamar a una función anidada . Lo único que tenía que hacer para que lo arreglen era llevar la función a cabo a un ámbito donde era visible.
fuente
En mi caso, tenía un archivo Object-C que también estaba en la misma Membresía de destino. Lo arreglé agregando un
#import "YourObjectCFileHeader.h"
archivo interiorBridging-Header.h
fuente
Porque no lo has declarado. Si desea utilizar una variable de otra clase, debe utilizar
Tienes que poner este código al final del código NewClass
fuente
Tu
NewClass
heredaUIViewController
. DeclarastesignedIn
enViewController
. Si deseaNewClass
poder identificar esa variable, tendrá que declararla en una clase de la queNewClass
hereda.fuente
Recibí este error para Mantle Framework en mi proyecto Objective-Swift. Lo que intenté es
Alterne entre Membresía Privada primero construya el proyecto, termine con errores. Luego, cree el proyecto con Membresía pública para todos los marcos que aparecieron para el archivo Mantle.h , debe tener éxito.
Es solo un error de construcción con múltiples marcos en el proyecto Objective-C Swift.
fuente
Si se trata de una clase que creó, asegúrese de que la clase no esté anidada.
Fe
A. rápido
la llamada
var b = ARelated()
dará 'Uso de identificador no resuelto: ARelated'.Tu también puedes:
1) separe las clases si lo desea en el mismo archivo:
A. rápido
2) Mantenga su misma estructura y use la clase adjunta para llegar a la subclase:
var b = A.ARelated
fuente
Cometí un error estúpido. Olvidé mencionar la clase como pública o abierta mientras actualizaba el código en el espacio de trabajo de cocoapod.
Verifique si el accesorio está trabajando en un espacio de trabajo separado.
fuente
Olvidó declarar la variable. Solo ponlo
var
frente asignedIn = false
fuente
viewDidLoad
.Mi problema fue llamar a mi programa con el mismo nombre que uno de sus cocoapods. Causó un conflicto. Solución: cree un programa con un nombre diferente.
fuente
No se trata directamente de su ejemplo de código, sino en general sobre el error. Lo estoy escribiendo aquí, porque Google dirige este error a esta pregunta, por lo que puede ser útil para los otros desarrolladores.
Otro caso de uso en el que puede recibir dicho error es cuando está agregando un selector al método en otra clase, por ejemplo:
Y luego en otra clase:
Si en la última línea simplemente llamaras en
#selector(cancelActionHandler)
lugar de#selector(MockTextFieldTarget.cancelActionHandler)
, obtendríaserror.
fuente