iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   caching webImages op je iPhone (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/44749-caching-webimages-op-iphone.html)

ulquiorra 29-09-09 16:49

caching webImages op je iPhone
 
Hallo all,

weet iemand hoe ik mijn webcontent zou kunnen cachen ( plaatje in dit geval dus )

Ik heb hier wat ik zelf heb

Code:


NSString *ImageURLString = @"http://192.168.55.101/~userme/testenviroment/mobile/iphone/ads/v0.1/";
       
        //URL OBJECT footer
       
        UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320 , 100)];
        NSURL *url = [NSURL URLWithString:ImageURLString];
        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url
                                                                                                cachePolicy:NSURLRequestReturnCacheDataElseLoad  // ik dacht dat dit 'm was .. helaas tevergeefs
                                                                                        timeoutInterval:10];
        [aWebView loadRequest:requestObj];


Wat ik dus wil is het desbetreffende plaatje cachen en mocht deze al aanwezig zijn dan uiteraard moet hij dat plaatje gebruiken ( uit een of andere temp directory ).

markvwijnen 29-09-09 20:03

Wil je het gewoon cachen in het geheugen of daadwerkelijk de data cachen in een bestand voor later hergebruik?

In het eerste geval kan je een NSDictionary gebruiken.
In het tweede geval zou je SQLite kunnen gebruiken of echt de data wegschrijven naar een bestand, ik zou persoonlijk voor SQLite gaan want die is makkelijk te beheren met queries.

ulquiorra 30-09-09 13:12

ik wil graag cachen voor later gebruik.

Bv. ik installeer de app. op mijn device speel ermee en wanneer ik de app afsluit en opnieuw opstart en er geen internetverbinding aanwezig is , zou ik graag willen dat hij dan de images heeft gecached en die gebruikt.

slomekerel 02-10-09 13:35

Sqlite lijkt mij inderdaad ook de makkelijkste oplossing. Hier heb je een goede tutorial over het opslaan van plaatsjes in een sqlite: SQLite Tutorial - Saving images in the database - iPhone SDK Articles

Matisse 02-10-09 18:29

Ik zou voor CoreData gaan, dan hoef je zelf niet eens de queries te schrijven.

wbroek 03-10-09 20:10

Je kan ook het plaatje opslaan als plaatje door eerst het plaatje op te halen:
Code:

UIImage *img  = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"http://www.test.nl/logo.gif"]]];
Daarna opslaan in bijvoorbeeld je documents map:
Code:

[UIImagePNGRepresentation(img) writeToFile:fileName atomically:YES];
Natuurlijk moet je voor het ophalen eigenlijk controleren of hij al bestaat zodat hij hem niet ophaalt als hij bestaat


Alle tijden zijn GMT +2. Het is nu 11:55.