On May 19, 2011, at 21:53, Rick Mann wrote: > But frankly, that's a kludge. Cocoa is full of inconsistencies (like > NSFileManager/NSFileHandle lacking modern file creation methods) forcing the > (ab)use of another API. Sure, it works (I'm guessing), but it's ugly.
It's in the eye of the beholder. From where I'm standing, it's deeply consistent -- NSData is my go-to class for writing N bytes of arbitrary data to a file. Why is N==0 an abuse? Also, if I create a mutable data object: NSMutableData* dataBuffer = [NSMutableData data]; then I can use it to create the file and then re-use it as the data buffer I need to pass to [NSFileHandle writeData:]. With this technique, I've reduced the number of lines of boring housekeeping code needed to create the file and set up a data buffer I wanted anyway. Concision is good. With this technique, I've abstracted my task -- writing data bytes to a file in one or more pieces -- away from a series of lower level tasks (interacting with a file system) that have no particular interest. Abstraction is good. Finally, you don't have to guess that it works. It's a line of code I've used many times. When posting code here to save you a little time and effort, I wouldn't waste your time suggesting doubtful code. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com