Fatti
L'11 marzo 1986, la Compagnia di assicurazioni X. ha concesso in affitto a B. un appartamento di quattro locali e mezzo a Ginevra. Il contratto di affitto, concluso per il periodo compreso tra il 1° maggio 1986 e il 31 marzo 1987, si rinnovava tacitamente per nuovi periodi. L'affitto annuale iniziale era di 10'440 franchi. Il tasso ipotecario di riferimento era del 5 1/2% all'epoca, poi è stato ridotto al 5 1/4% il 1° aprile 1987, al 5% il 1° settembre 1988, e successivamente è stato aumentato al 5 1/2% il 1° luglio 1989 e al 6% il 1° ottobre 1989.
La locatrice ha notificato al suo inquilino tre aumenti dell'affitto: il primo il 10 dicembre 1987, il secondo il 9 giugno 1989 e il terzo l'8 dicembre 1989. L'inquilino si è opposto al terzo aumento dell'affitto, che portava l'affitto annuale a 12'792 franchi.
Il Tribunale degli affitti e dei canoni del cantone di Ginevra ha respinto tutte le conclusioni della ricorrente, ma la Camera d'appello in materia di affitti e canoni ha annullato la sentenza di primo grado e fissato l'affitto annuale a 12'792 franchi.
Legge
Il Tribunale federale ha esaminato la validità dell'aumento dell'affitto in questione in funzione del tasso ipotecario di riferimento e del metodo di calcolo relativo. Ha considerato che la data dell'ultima fissazione dell'affitto è, in principio, quella dell'entrata in vigore dell'ultimo affitto, ma che questa regola può essere sfumata in funzione delle circostanze.
Il Tribunale federale ha anche esaminato l'applicazione dell'art. 9 al. 2bis OPL, che prevede che in caso di modifica dell'affitto a seguito di un cambiamento del tasso di interesse ipotecario, si deve verificare se e in quale misura i cambiamenti precedenti siano stati ripercossi. Ha considerato che la verifica retrospettiva deve essere fatta riferendosi alle modifiche effettive dell'affitto intervenute durante il periodo da prendere in considerazione e riesaminandole…