Si la aplicación va a apoyar León, a continuación, loadNibNamed:owner:topLevelObjects:
no se disparará y obtendrá un (selector no reconocido) excepto cuando se ejecuta en León. Después de buscar en torno a que se me ocurrió esto:
// loadNibNamed:owner:topLevelObjects was introduced in 10.8 (Mountain Lion).
// In order to support Lion and Mountain Lion +, we need to see which OS we're
// on. We do this by testing to see if [NSBundle mainBundle] responds to
// loadNibNamed:owner:topLevelObjects: ... If so, the app is running on at least
// Mountain Lion... If not, then the app is running on Lion so we fall back to the
// the older loadNibNamed:owner: method. If your app does not support Lion, then
// you can go with strictly the newer one and not deal with the if/else conditional.
if ([[NSBundle mainBundle] respondsToSelector:@selector(loadNibNamed:owner:topLevelObjects:)]) {
// We're running on Mountain Lion or higher
[[NSBundle mainBundle] loadNibNamed:@"NibName"
owner:self
topLevelObjects:nil];
} else {
// We're running on Lion
[NSBundle loadNibNamed:@"NibName"
owner:self];
}
Si realmente desea utilizar topLevelObjects:&array
para Mountain Lion +, y también desea apoyar león, parece que tendrá que recurrir a loadNibFile: externalNameTable : withZone: (disponible tanto como método de clase como de instancia) para la condición Lion (podría estar equivocado sobre esta). Me da la impresión de que loadNibNamed:owner:topLevelObjects:
fue creado para reemplazar esto.
También he leído en otra parte que cuando utilice la nueva loadNibNamed:owner:topLevelObjects:
para una hoja, debe desmarcar "Liberar cuando está cerrado" para la hoja (ventana). Esto debe tenerse cuidado de cuando se cierra la hoja:
[self.sheet close];
self.sheet = nil;
No estoy seguro exactamente lo que debe hacerse al respecto casilla si va a abrir una ventana no modal. ¿Algunas ideas?
Considere dividir la porción de hoja personalizada en su propia pregunta separada: ¿Cuál es la mejor manera de implementar una hoja personalizada? sería un buen título. – alfwatt