---
title: "CFURLCreateCopyAppendingPathComponent(_:_:_:_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfurlcreatecopyappendingpathcomponent(_:_:_:_:)"
---

# CFURLCreateCopyAppendingPathComponent(_:_:_:_:)

Creates a copy of a given URL and appends a path component.

## Declaration

```swift
func CFURLCreateCopyAppendingPathComponent(_ allocator: CFAllocator!, _ url: CFURL!, _ pathComponent: CFString!, _ isDirectory: Bool) -> CFURL!
```

## Parameters

- `allocator`: The allocator to use to allocate memory for the new CFURL object. Pass NULL or doc://com.apple.corefoundation/documentation/CoreFoundation/kCFAllocatorDefault to use the current default allocator.
- `url`: The CFURL object to which to append a path component.
- `pathComponent`: The path component to append to url.
- `isDirectory`: A Boolean value that specifies whether the string is treated as a directory path when resolving against relative path components. Pass true if the new component indicates a directory, false otherwise.

## Return Value

Return Value A copy of url appended with pathComponent. Ownership follows the create rule. See The Create Rule.

## Discussion

Discussion The isDirectory argument specifies whether or not the new path component points to a file or a to directory. Note that the URL syntax for a directory and for a file at otherwise the same location are slightly different—directory URLs must end in “/”. If you have the URL http://www.apple.com/foo/ and you append the path component bar, then if isDirectory is true then the resulting URL is http://www.apple.com/foo/bar/, whereas if isDirectory is false then the resulting URL is http://www.apple.com/foo/bar. This difference is particularly important if you resolve another URL against this new URL. file.html relative to http://www.apple.com/foo/bar is http://www.apple.com/foo/file.html, whereas file.html relative to http://www.apple.com/foo/bar/ is http://www.apple.com/foo/bar/file.html.

## See Also

### Creating a CFURL

- [CFURLCopyAbsoluteURL(_:)](corefoundation/cfurlcopyabsoluteurl(_:).md)
- [CFURLCreateAbsoluteURLWithBytes(_:_:_:_:_:_:)](corefoundation/cfurlcreateabsoluteurlwithbytes(_:_:_:_:_:_:).md)
- [CFURLCreateByResolvingBookmarkData(_:_:_:_:_:_:_:)](corefoundation/cfurlcreatebyresolvingbookmarkdata(_:_:_:_:_:_:_:).md)
- [CFURLCreateCopyAppendingPathExtension(_:_:_:)](corefoundation/cfurlcreatecopyappendingpathextension(_:_:_:).md)
- [CFURLCreateCopyDeletingLastPathComponent(_:_:)](corefoundation/cfurlcreatecopydeletinglastpathcomponent(_:_:).md)
- [CFURLCreateCopyDeletingPathExtension(_:_:)](corefoundation/cfurlcreatecopydeletingpathextension(_:_:).md)
- [CFURLCreateFilePathURL(_:_:_:)](corefoundation/cfurlcreatefilepathurl(_:_:_:).md)
- [CFURLCreateFileReferenceURL(_:_:_:)](corefoundation/cfurlcreatefilereferenceurl(_:_:_:).md)
- [CFURLCreateFromFileSystemRepresentation(_:_:_:_:)](corefoundation/cfurlcreatefromfilesystemrepresentation(_:_:_:_:).md)
- [CFURLCreateFromFileSystemRepresentationRelativeToBase(_:_:_:_:_:)](corefoundation/cfurlcreatefromfilesystemrepresentationrelativetobase(_:_:_:_:_:).md)
- [CFURLCreateFromFSRef(_:_:)](corefoundation/cfurlcreatefromfsref(_:_:).md)
- [CFURLCreateWithBytes(_:_:_:_:_:)](corefoundation/cfurlcreatewithbytes(_:_:_:_:_:).md)
- [CFURLCreateWithFileSystemPath(_:_:_:_:)](corefoundation/cfurlcreatewithfilesystempath(_:_:_:_:).md)
- [CFURLCreateWithFileSystemPathRelativeToBase(_:_:_:_:_:)](corefoundation/cfurlcreatewithfilesystempathrelativetobase(_:_:_:_:_:).md)
- [CFURLCreateWithString(_:_:_:)](corefoundation/cfurlcreatewithstring(_:_:_:).md)
