ios - navigationitem title color
''Uso del identificador no resuelto'' en Swift (11)
Así que he estado haciendo una aplicación, y todo ha estado funcionando 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, cuando trato de hacer una nueva clase, no puedo. ¿Cómo se solucionarí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
signedIn = false
Me sale el error:
uso del identificador no resuelto "firmado"
A veces, el compilador se confunde acerca de la sintaxis en su clase. Esto sucede mucho si pega la fuente desde otro lugar.
Intente reducir al mínimo el archivo fuente "sin resolver", limpieza y construcción. Una vez que se construye con éxito, agregue toda la complejidad a su clase.
Esto me ha hecho desaparecer cuando reiniciar Xcode no funcionó.
Cometí un estúpido error. Olvidé mencionar la clase como pública o abierta al actualizar el código en el espacio de trabajo de cocoapod.
Verifique si el accesorio está trabajando en un espacio de trabajo separado.
Olvidó declarar la variable.
Simplemente coloque
var
delante
signedIn = false
Otro lugar donde he visto este error es cuando su proyecto tiene múltiples objetivos Y múltiples encabezados de puente . Si se trata de una clase compartida, asegúrese de agregar el recurso a todos los encabezados de puente.
Un buen consejo es mirar en el panel izquierdo Issue Navigator; el objeto raíz mostrará el objetivo que está emitiendo la queja.
Para mí, este error ocurrió porque estaba tratando de llamar a una función anidada . Lo único que tuve que hacer para arreglarlo fue llevar la función a un alcance donde fuera visible.
Porque no lo has declarado. Si desea usar una variable de otra clase, debe usar
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var DestViewController : ViewController = segue.destinationViewController as ViewController
DestViewController.signedIn = false
}
Tienes que poner este código al final del código NewClass
Recibí este error para Mantle Framework en mi Proyecto Objective-Swift. Lo que probé es
- Compruebe si hay importación en el archivo Bridging-Header.h
- Cambie la Membresía de destino para Framework en el archivo Mantle.h como se muestra en la siguiente captura de pantalla.
Alternar entre membresía privada primero construye el proyecto, termina con errores. Luego, cree el proyecto con Membresía pública para todos los marcos aparecidos 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.
Si se trata de una clase que creó, asegúrese de que la clase no esté anidada.
Fe
A.swift
class A {
class ARelated {
}
}
llamar a
var b = ARelated()
dará ''Uso del identificador no resuelto: ARelated''.
Tu también puedes:
1) separe las clases si lo desea en el mismo archivo:
A.swift
class A {
}
class ARelated {
}
2) Mantenga su misma estructura y use la clase de cierre para llegar a la subclase:
var b = A.ARelated
Su
NewClass
hereda de
UIViewController
.
Usted declaró
signedIn
en
ViewController
.
Si desea que
NewClass
pueda identificar esa variable, deberá declararse en una clase de la que herede su
NewClass
.
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.