====== returning multiple values ====== * correct example: Bool isDir; // path is an NSString * // &isDir means the address of the isDir variable if([filemanager fileExistsAtPath:path isDirectory:&isDir] && !isDir){ // do something - we have a valid file that is not a directory } * along with this, remember that just creating a pointer doesn't create anything in memory - incorrect example: Bool *isDir; if([filemanager fileExistsAtPath:path isDirectory:isDir] && !isDir){ // !! THIS WILL NOT WORK !! }