/ / NSImage initWithContentsOfFile: zobrazenie pokroku - cieľ-c, kakao

NSImage initWithContentsOfFile: zobrazenie pokroku - cieľ-c, kakao

Načítavam veľmi veľký súbor v NSimage s týmto kódom:

[[NSImage alloc] initWithContentsOfFile:aFile]

Táto operácia trvá niekoľko hodín. Chcem zobraziť stav načítavania v mojom používateľskom rozhraní. Ako je možné čítať alebo vypočítať priebeh?

Vďaka.

odpovede:

1 pre odpoveď č. 1

Inicializujte obraz odkazom na súbor, ktorý ho ihneď nenačíta. Potom nastavte sami seba ako delegát obrázku a odpovedzte na prírastkové načítanie správ, ktoré sú súčasťou protokol NSImageDelegate, Potom sa pokúste požiadať obrázok o určité informácie o sebe (žiadať o jeho reprezentácie by asi byť dobrý spôsob), aby sa obraz začal načítavať.

Myslím, že to bude stále zablokovať používateľské rozhranie, hoci: budete môcť zobraziť pokrok, ale neumožniť používateľovi pracovať na iných veciach, kým sa obrázok načíta. Nie som si istý, ako by ste to urobili.