Måndag, 25 oktober, 2010

iPhone: problemet med att behandla stora mängder data

Om du skapar mer komplexa applikationer, Apples mobila plattform, särskilt när de används i en klass utrymme CoreData finns ett problem "fryspunkt" tillämpningar. När du kör flera frågor på kort tid i huvudsaken tråden finns det en situation där vyn inte uppdateras. Med andra ord, om programmeraren vill uppdatera en förloppsindikator till exempel, har för att utföra mer komplexa operationer i en extra tråd till avlasta den röda tråden och kunna visa uppdatering.
Och när du skapar en ny tråd, kommer ner till en enkel kod:

 / * Kö av uppgifter - init (funktionen för automatisk) * /
 NSOperationQueue * kö = [[NSOperationQueue alloc] init];

 / * Skapa uppgifter, som lägger till kön, som anropar "uppgift" i en separat tråd * /
 NSInvocationOperation * drift = [[NSInvocationOperation Alloc] initWithTarget: self val: @ väljaren (uppgift) objekt: nil];

 / * Lägg till uppgift att kön (gänga) * /
 [Queue addOperation: Operation];

 [Operation release];
 [Queue release];

Vid mycket komplexa verksamheter med CoreData föremål, särskilt när det finns många sådana föremål läggs till i databasen och utfört NSManagedContext spara metoden, kan vara så att något går fel. Hur din ansökan beter sig när det gäller att denna situation i den röda tråden? Svaret är inte klart, eftersom beroende på en mycket viktig sak. Nämligen beroende på om NSManagedContext skapades inom den röda tråden eller en nyskapad post säkerheter. I det första fallet, slutar programmet svara, men stannade inte igång! Med andra ord kommer programmet att försöka göra en post i effekt, men till ingen nytta. Lösningen på detta problem är att skapa ett nytt objekt i den metod NSManagedContext händelse, så att även om en del av operationerna misslyckas, kommer programmet att fortsätta att utföra.

För mer information, se dokumentationen .

Länk till bilden främjar .


Relaterade poster

Kategorier: iPhone / mobil / guider
Du kan följa svar på detta inlägg via fodret RSS 2,0 . Du kan också skriva dina egna kommentarer , eller att länka till detta inlägg på din sida.
  • Obraz CAPTCHY
    Uppdatera bild
    *

    Spam Skydd av WP-SpamFree