<!--
{
  "availability" : [
    "macOS: 10.4.0 - 10.15.0"
  ],
  "documentType" : "symbol",
  "framework" : "Quartz",
  "identifier" : "/documentation/Quartz/QCPlugIn/plugInKeys()",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Quartz"
    ],
    "preciseIdentifier" : "c:objc(cs)QCPlugIn(cm)plugInKeys"
  },
  "title" : "plugInKeys()"
}
-->

# plugInKeys()

Returns the keys for the internal settings of a custom patch.

```
class func plugInKeys() -> [Any]!
```

## Return Value

An array of keys used for key-value coding (KVC) of the internal settings.

## Discussion

You must override this method if your patch provides a Settings pane.  This keys are used for automatic serialization of the internal settings and are also used by the [`QCPlugInViewController`](/documentation/Quartz/QCPlugInViewController) instance for the Settings pane. The implementation is straightforward; the keys are strings that represent the instance variables used for the Settings pane. For example, the `plugInKeys` method for these instance variables:

```objc
@property(ivar, byref) NSColor * systemColor;
@property(ivar, byref) NSConfiguration * systemConfiguration;
```

are:

```objc
+ (NSArray*) plugInKeys
{
    return [NSArray arrayWithObjects: @"systemColor",
                                      @"systemConfiguration",
                                      nil];
}
```

---

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)