Pregunta

Título tomado de esta pregunta, de los cuales este es no un duplicado. Vea mi respuesta allí por lo que estaba mal para ese interrogador; Soy el autor de esa respuesta, y mi problema no es ese.

Tengo una vista de tabla con tres columnas, cuyos enlaces de valor están vinculados a tres propiedades del arrangedObjects de un controlador de matriz. El controlador de matriz contentArray está vinculado al visitationResults de mi objeto de documento; Los elementos en esa matriz son instancias de una clase modelo (VisitationResult). También he atado el controlador de matriz selectionIndexes y sortDescriptors a las propiedades de mi documento.

Estoy mutando mi propiedad a través de un par de accesorios:

- (void) addVisitationResult:(VisitationResult *)newVisitationResult {
    [self insertObject:newVisitationResult inVisitationResultsAtIndex:[self countOfVisitationResults]];
    NSLog(@"arrayController arrangedObjects: %@", [arrayController arrangedObjects]);
}

Que NSLog La declaración se ejecuta y confirma que el controlador de matriz está reuniendo y organizando mis objetos modelo. Esto significa que estoy pasando por mi propiedad y recibiendo notificaciones de KVO para mi documento (lo que demuestra que el problema del interrogador anterior, el de evitar la propiedad, no es el problema que tengo).

yo añadí NSLog declaraciones en los métodos de accesor de la clase de objetos de mi modelo. Se llama a uno de ellos, por el controlador de matriz, para ordenar los objetos (esa propiedad es la clave de clasificación). Los otros dos, que el controlador de matriz no conoce, nunca se llaman.

Por lo tanto, mi vista de mesa permanece en blanco.

¿Fue útil?

Solución

Encontré el problema: es porque había atado explícitamente el selectionIndexes y sortDescriptors ANULCIONES DE LA VISTA DE TABLA.

Esto no era necesario, de todos modos: acabo de comprobar y la documentación dice:

selectionIndexes

Por lo general, SelectionIndexes está vinculado automáticamente al NsArrayController al que está obligado la primera nstablecolumn.

sortDescriptors

Por lo general, este enlace se crea automáticamente, vinculante a los descriptores de clasificación del NsArrayController de la NSTABLECOLUMN INICIALMENTE unida.

Parece que no solo no es necesario, sino que la vinculación o ambos de estos dos romperá la vista de la tabla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top