> On May 8, 2021, at 9:55 PM, Gerd Knops <[email protected]> wrote: > > NSPropertyListSerialization returns an id. > > From there you can do > > if([object isKindOfClass:NSArray.class]) > { > NSArray *array=object; // Not really needed, but gives hints to the > compiler > ... > } > else if([object isKindOfClass:NSDitctionary.class]) > { > ... > } > ... >
Well, hell! There we go. Thanks Gerd! That’s great! Best, Alex Zavatone > > >> On May 8, 2021, at 19:32, Alex Zavatone via Cocoa-dev >> <[email protected]> wrote: >> >> Well, what I’m not sure about are how to store the results internally. Do I >> declare both an NSArray and an NSDictionary and check to see which one ended >> up getting the proper result? >> >> Is there a class of object that is a collection that is - either an array or >> dictionary? Of course, that’s what a collection is, but I’ve never come >> across needing to structure code to handle ether an array or a dictionary. >> >> In the text of the article, “A property list is itself an array or >> dictionary that contains only NSData >> <https://developer.apple.com/documentation/foundation/nsdata>, NSString >> <https://developer.apple.com/documentation/foundation/nsstring>, NSArray >> <https://developer.apple.com/documentation/foundation/nsarray>, NSDictionary >> <https://developer.apple.com/documentation/foundation/nsdictionary>, NSDate >> <https://developer.apple.com/documentation/foundation/nsdate>, and NSNumber >> <https://developer.apple.com/documentation/foundation/nsnumber> objects.” >> >> It seems like just stalling the inevitable. >> >> + (NSData <https://developer.apple.com/documentation/foundation/nsdata> >> *)dataWithPropertyList:(id)plist >> format:(NSPropertyListFormat >> <https://developer.apple.com/documentation/foundation/nspropertylistformat>)format >> >> options:(NSPropertyListWriteOptions >> <https://developer.apple.com/documentation/foundation/nspropertylistwriteoptions>)opt >> >> error:(out NSError >> <https://developer.apple.com/documentation/foundation/nserror> * _Nullable >> *)error; >> >> OK. So once I get an NSData object, then I need to decode it and see if >> it’s an array or dictionary, which ends up being the same problem I already >> have. >> >> So, what would be the next step after that? >> >> Thanks, Ben. >> >> Alex Zavatone >> >> >>> On May 8, 2021, at 7:25 PM, Ben Kennedy <[email protected]> wrote: >>> >>> Sounds like NSPropertyListSerialization is what you’re after. >>> >>> https://developer.apple.com/documentation/foundation/nspropertylistserialization >>> >>> <https://developer.apple.com/documentation/foundation/nspropertylistserialization> >>> >>> b >>> >>> Sent from my iPhone >>> >>>> On May 8, 2021, at 5:12 PM, Alex Zavatone via Cocoa-dev >>>> <[email protected]> wrote: >>>> >>>> I’m reading a configuration plist like so. >>>> >>>> NSFileManager *fileManager = [NSFileManager defaultManager]; >>>> BOOL success = [fileManager fileExistsAtPath:filePath]; >>>> >>>> if (success) { >>>> >>>> _configurationDictionary = [[NSMutableDictionary >>>> alloc]initWithDictionary:[NSDictionary >>>> dictionaryWithContentsOfFile:filePath]]; >>>> >>>> >>>> >>>> >>>> In some cases, I want the plist to be a dictionary. In others, I want it >>>> to be an array. >>>> >>>> How would anyone recommend to make this a generic method to that could >>>> handle if the contents of the plist was an array or a dictionary? >>>> >>>> Thanks in advance. >>>> Alex Zavatone >>> >> >> _______________________________________________ >> >> Cocoa-dev mailing list ([email protected]) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/gerti-cocoadev%40bitart.com >> >> This email sent to [email protected] > _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
