<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Charts",
  "identifier" : "/documentation/Charts/ChartContentBuilder",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Swift Charts"
    ],
    "preciseIdentifier" : "s:6Charts19ChartContentBuilderV"
  },
  "title" : "ChartContentBuilder"
}
-->

# ChartContentBuilder

A result builder that you use to compose the contents of a chart.

```
@resultBuilder struct ChartContentBuilder
```

## Overview

This [Result Builder](https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html#ID630)
combines any number of [`ChartContent`](/documentation/Charts/ChartContent) instances into a single composite
instance, including support for conditionals.

You don’t call the methods of the result builder directly. Instead, Swift
uses them to combine the elements that you declare in any closure that has
the `@ChartContentBuilder` attribute. In particular, you rely on this
behavior when you declare the `content` inside a [`Chart`](/documentation/Charts/Chart) initializer
like [`init(content:)`](/documentation/Charts/Chart/init(content:)).

## Topics

### Building chart content

[`buildBlock()`](/documentation/Charts/ChartContentBuilder/buildBlock())

Produces empty chart content.

### Building conditionally

[`buildIf(_:)`](/documentation/Charts/ChartContentBuilder/buildIf(_:))

Builds a partial result that’s conditionally present.

[`buildEither(first:)`](/documentation/Charts/ChartContentBuilder/buildEither(first:))

Builds a partial result from a condition that’s true.

[`buildEither(second:)`](/documentation/Charts/ChartContentBuilder/buildEither(second:))

Builds a partial result from a condition that’s false.

### Building with conditional availability

[`buildLimitedAvailability(_:)`](/documentation/Charts/ChartContentBuilder/buildLimitedAvailability(_:))

Builds a partial result that propagates or erases type information
outside a compiler-controlled availability check.

### Supporting types

[`BuilderConditional`](/documentation/Charts/BuilderConditional)

A conditional result from a result builder.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)