[Obj C/iPhone] Url uit prefrences plist

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • t1mmy
  • Registratie: Mei 2006
  • Laatst online: 14-08 16:39
Hoe moeilijk kan het nou zijn..

Ik wil een feed url (rss client) uit de prefrences pane krijgen, via een appje. Dit appje opent die url en haalt de RSS feed binnen. Alles werkt als ik de link er hard in zet, dus wil ik nu als oefening de url variabel maken, en deze instelbaar maken in het prefrences menu van de iPhone/iPodT. Dit wordt daar opgeslagen in Plists.

Voor het gemak heb ik de betreffende plist even gekopieerd naar mijn werkmap, dan weet ik zeker dat ie hem pakt.

Wat ik nu wil is: dat de rss lezer de URL die hij moet gebruiken uit de plist uitleest. Maar hoe?

RSSXLMParser.m
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-(void) parseRSSFeed {
    
    // create a URL object using the bbc RSS feed address
    NSURL * rssfeedurl = [NSURL URLWithString:@"hardelinknaardefeedgaathier"] ;
    
    // initialise the XML parser with the URL location
    theXMLParser = [[NSXMLParser alloc] initWithContentsOfURL:rssfeedurl];
    
    // set delegate to this object, the methods we need to process the XML are below
    [theXMLParser setDelegate:self];
    
    // start parsing
    [theXMLParser parse];
    
    // release the parser when it's not needed anymore
    [theXMLParser autorelease];
}
 } 


Root.plist
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>StringsTable</key>
    <string>Root</string>
    <key>PreferenceSpecifiers</key>
    <array>
        <dict>
            <key>Type</key>
            <string>PSGroupSpecifier</string>
            <key>Title</key>
            <string>Feed</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
            <key>Title</key>
            <string>URL</string>
            <key>Key</key>
            <string>feedKey</string>
            <key>DefaultValue</key>
            <string>http://feeds.feedburner.com/iPhoneclub?format=xml</string>
            <key>AutocorrectionType</key>
            <string>No</string>
        </dict>
    </array>
</dict>
</plist>


Zelf heb ik verschillende varianten op dit geprobeerd:
C:
1
2
3
4
5
6
7
    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSString *finalPath = [path stringByAppendingPathComponent:@"Root2.plist"];
    vKey = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
    
    
    // create a URL object using the bbc RSS feed address
    NSURL * rssfeedurl = vKey ;


Heb al veel in mijn boek zitten lezen en op het internet lopen kijken maar kom er gewoon niet uit. Veelal de voorbeelden die gegeven worden zijn aan de hand van tekst die in een vakje wordt geplakt, maar dat werkt dan toch weer anders dan de manier die ik nodig heb..

Kan iemand mij op het goede spoor zetten?


Ik maak dit project om te leren, en ben niet van plan om deze uit te brengen in de appstore of er op welke andere manier geld aan te verdienen!

[ Voor 11% gewijzigd door t1mmy op 16-12-2009 01:53 . Reden: Wat dingetjes toegevoegd, ter verduidelijking ]


Acties:
  • 0 Henk 'm!

  • t1mmy
  • Registratie: Mei 2006
  • Laatst online: 14-08 16:39
Ik heb niet stil gezeten vandaag, ben een stapje verder, weet alleen nu nog niet hoe ik hem er in moet krijgen, iemand hulp?

Dit heb ik gedaan:
code:
1
2
3
4
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    NSString *userFeed = [prefs stringForKey:@"userFeed"];
    
    NSURL * rssfeedurl = userFeed;


Hoe moet ik de inhoud van userFeed zo daar neer gooien? (waar nu userFeed staat)

Acties:
  • 0 Henk 'm!

  • pascalw
  • Registratie: Februari 2008
  • Laatst online: 05-09 20:23
Je probeert nu van een NSString een NSURL te maken, dat gaat natuurlijk niet werken.

Wat jij wilt is een NSURL object maken op basis van de userFeed string, kijk eens naar de urlWithString methodes van NSURL.