“Fuera de alcance” error cuando se repite un NSMutableArray
-
27-09-2019 - |
Pregunta
¿Por qué recibo un "fuera de alcance" de error cada vez que intento acceder a la variable "URL" en este bucle?
for(NSString *url in self.winnerImageURLs) {
[mediaItemString appendFormat:@"{\"type\":\"image\",\"src\":\"%@\",\"href\":\"%@\"},", url, url];
}
La clase de muy capítulo de los "self.winnerImageURLs" NSMutableArray regresa como NSCFString así que no estoy seguro de lo que el Dealio está aquí.
¿Alguna idea sobre lo que estoy haciendo mal ???
Gracias
Solución
Si estamos hablando acerca del acceso a la variable url en el depurador, sucede mucho. No es un problema en sí mismo.
Otros consejos
Corto anwer es que se supone que debe ser así. Una respuesta más larga es que NSString
es un grupo clase.
Clase clúster
clúster clase A es una arquitectura que agrupa una serie de organizaciones privadas, subclases concretas en virtud de un público, superclase abstracta. La agrupación de clases de esta manera proporciona una interfaz simplificada para el usuario, quien sólo ve lo visible públicamente arquitectura. Entre bastidores, sin embargo, la clase abstracta está llamando la subclase privada más adecuado para realizar una tarea en particular.
Muchas clases Cocoa
común se implementan como racimos de clase, incluyendo NSArray
, NSString
y NSDictionary
.
crear e interactuar con las instancias del clúster del mismo modo que lo haría con cualquier otra clase. Detrás de las escenas, sin embargo, cuando se crea una instancia de la clase pública, la clase devuelve un objeto de la subclase apropiada basada en el método de creación que se invoca. (No lo hace, y no puede, elegir la clase actual de la instancia.)
en NSString ejemplo
NSString *a = @"UTF32.txt";
NSString *b = [NSHomeDirectory() stringByAppendingPathComponent:a];
NSTextStorage *storage = [[NSTextStorage alloc] initWithString:b];
NSString *c = [storage string];
Cada uno de a, b y c puede ser (y en 10.5 es) una instancia de una subclase privado diferente (y de hecho, en Mac OS X v10.5, cada uno es). Aunque cada uno de los objetos es de una subclase particular de NSString
, es conveniente considerar cada uno de los objetos a ser instancias de la clase NSString
.
Sobre Clase Clusters en el sitio de Apple Desarrollador: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html# // apple_ref / doc / uid / TP40002974-CH4-SW34