Så här konfigurerar du användar Egna inställningar i din iPad App

December 7

Du kan ange inställningar för iPad program, som är programspecifika inställningar som används för att konfigurera beteendet eller utseendet på din iPad app. Du kan skapa och spara inställningar i din app, men du kan också använda den medföljande Inställningar appen för att visa och ställa dina app-specifika inställningar (appen ikonen Inställningar ser ut som ett gäng kugghjul). Oavsett separata inställningar har du kommit fram till måste fungera inom ramen för appen Inställningar; i själva verket gör appen Inställningar du färg innanför linjerna.

Här är en kort sammanfattning av de riktlinjer som iPad inför för inställningar:

  • Om du har inställningar som normalt konfigurerade gång och sedan sällan ändras: Lämna uppgiften att göra inställningar för appen Inställningar. På en iPad, detta gäller saker som att aktivera / inaktivera Wi-Fi, inställning tapeter displayer, inrätta Mail-konton, och alla andra inställningar du vill ställa in och sedan lämna på plats en stund.
  • Om du har inställningar som användaren kanske vill ändra regelbundet: I denna situation bör man överväga att ha användarna ange alternativen själva i din app.

För att spara och läsa inställningar, du använder en inbyggd, lättanvända klass som kallas NSUserDefaults.

Förresten, fråga inte varför språkexperter sätter Defaults i namnet snarare än något att göra med inställningar - färre brev, kanske - men det är så det är. Bara låt inte deras namngivning egenheter förvirra dig.

Lagra data i filsystemet, i stället för i minnet, ger dig ett enkelt sätt att lagra programspecifika informationen. Med hjälp av NSUserDefaults, kan du enkelt lagra tillståndet användaren befann sig i när han eller hon avsluta programmet - eller lagra något enkelt som en textsträng.

Identifiera inställningar för NSUserDefaults

Det är verkligen lätt att både tillgång och uppdatera en preferens. NSUserDefaults förs som en singleton, vilket innebär att det finns bara en instans av NSUserDefaults körs i din ansökan. För att komma åt att en instans, du åberopa klassmetod standardUserDefaults:

[NSUserDefaults standardUserDefaults]

standardUserDefaults returnerar NSUserDefaults objektet. Så fort du har tillgång till de vanliga användarinställningar kan du lagra data där och sedan få det tillbaka när du behöver det. För att lagra data, du helt enkelt ge det en nyckel och berättar det för att spara data med hjälp av denna nyckel.

Det sätt du berättar det för att rädda något är genom att använda setObject: forKey: metod. (Om din kunskap om Objective-C är lite rostig - eller inte alls - det är så alla meddelanden som har två argument hänvisas till):

  • Det första argumentet, setObject :, är det objekt du vill NSUserDefaults spara. Detta objekt måste vara NSData, NSString, NSNumber, NSDate, NSArray eller NSDictionary.
  • Det andra argumentet är forKey :. För att få tillbaka data, och för att NSUserDefaults att veta var den ska sparas, måste du kunna identifiera den till NSUserDefaults. Du kan, trots allt, har ett antal inställningar som lagrats i NSUserDefaults databasen, och nyckeln berättar NSUserDefaults vilken du är intresserad av.

Läsa inställningar i appen

För att använda inställningar för appen uppfattning länka dig upp med vyn controller. Det bästa stället att göra det är viewDidLoad, som åberopas direkt efter vyn har laddats ur nib filen.

När du lägger till koden för att använda inställningar, måste du nu bestämma hur du aktiverar användaren ändra dessa inställningar. Ett enkelt sätt för din app att erbjuda inställningar är i en modal dialogruta, där användaren kan använda för att skriva in sina preferenser.