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
Root.plist
Zelf heb ik verschillende varianten op dit geprobeerd:
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!
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 ]