Blog Archives
Get Current Directory in Objective-C
Since Mac OS X is a unix based system, you can always use “getcwd” from the standard C library, but in general if you want to stick within the context of Objective-C/Cocoa, see the examples below.
Here’s one snippet you will probably Google quickly, but ultimately not the solution I chose.
(original code from stackoverflow see reference below)
NSFileManager *filemgr; NSString *currentpath; filemgr = [[NSFileManager alloc] init]; currentpath = [filemgr currentDirectoryPath];
Solution
Using the “bundle path” rather than “executable path” turned out to work much better in my instance:
NSString *currentpath = [[[[NSBundle mainBundle] bundlePath] stringByDeletingPathExtension] stringByDeletingLastPathcomponent]; NSString *fileName = [NSString stringWithFormat:@"%@/%@/",currentpath,@"filename.pdf"];
References
stackoverflow.com, http://stackoverflow.com/questions/3692489/getting-current-directory-in-objective-c
friendlydeveloper.com, “NSFileManager”, http://www.friendlydeveloper.com/tag/nsfilemanager/
techtopia.com, “Working with Directories in Objective c”, http://www.techotopia.com/index.php/Working_with_Directories_in_Objective-C
Macrumors Forums, http://forums.macrumors.com/showthread.php?t=524754
stackoverflow, “Find Parent Directory of a path”, http://stackoverflow.com/questions/1309524/cocoa-objc-find-parent-directory-of-a-path
Concatenate string in Objective-C
Unfortunately, this is not as straight forward as it seems it should be. This really comes down to roughly two approaches in my opinion:
stringByAppendingString approach:
NSString *robot= @"Ronnie"; NSString *robotname = [robot stringByAppendingString:@" is the name of a robot."];
strigWithFormat approach:
NSString *robot= @"Ronnie"; NSString *robotname= @" is the name of the a robot."; NSString *robotknowledge = @" knows eight languages."; [NSString stringWithFormat:@"%@/%@/%@", robot, robotname, robot, robotknowledge];
References
StackOverflow, http://stackoverflow.com/questions/510269/how-do-i-concatenate-strings-in-objective-c
cocoadevcentral.com, “Learn Objective-C”, http://cocoadevcentral.com/d/learn_objectivec/