mirror of
https://github.com/realm/SwiftLint.git
synced 2026-05-07 20:12:49 +00:00
650 lines
43 KiB
HTML
650 lines
43 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<title>attributes Reference</title>
|
||
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
|
||
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
|
||
<meta charset="utf-8">
|
||
<script src="js/jquery.min.js" defer></script>
|
||
<script src="js/jazzy.js" defer></script>
|
||
|
||
<script src="js/lunr.min.js" defer></script>
|
||
<script src="js/typeahead.jquery.js" defer></script>
|
||
<script src="js/jazzy.search.js" defer></script>
|
||
</head>
|
||
<body>
|
||
|
||
|
||
<a title="attributes Reference"></a>
|
||
|
||
<header class="header">
|
||
<p class="header-col header-col--primary">
|
||
<a class="header-link" href="index.html">
|
||
SwiftLintCore 0.59.1 Docs
|
||
</a>
|
||
(100% documented)
|
||
</p>
|
||
|
||
<div class="header-col--secondary">
|
||
<form role="search" action="search.json">
|
||
<input type="text" placeholder="Search documentation" data-typeahead>
|
||
</form>
|
||
</div>
|
||
|
||
<p class="header-col header-col--secondary">
|
||
<a class="header-link" href="https://github.com/realm/SwiftLint">
|
||
<img class="header-icon" src="img/gh.png" alt="GitHub"/>
|
||
View on GitHub
|
||
</a>
|
||
</p>
|
||
|
||
<p class="header-col header-col--secondary">
|
||
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
|
||
<img class="header-icon" src="img/dash.png" alt="Dash"/>
|
||
Install in Dash
|
||
</a>
|
||
</p>
|
||
</header>
|
||
|
||
<p class="breadcrumbs">
|
||
<a class="breadcrumb" href="index.html">SwiftLintCore</a>
|
||
<img class="carat" src="img/carat.png" alt=""/>
|
||
<a class="breadcrumb" href="Guides.html">Guides</a>
|
||
<img class="carat" src="img/carat.png" alt=""/>
|
||
attributes Reference
|
||
</p>
|
||
|
||
<div class="content-wrapper">
|
||
<nav class="navigation">
|
||
<ul class="nav-groups">
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Rules.html">Rules</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="rule-directory.html">Rule Directory</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Classes.html">Classes</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/BodyLengthVisitor.html">BodyLengthVisitor</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/CodeBlockVisitor.html">CodeBlockVisitor</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter/IndentationStyle.html">– IndentationStyle</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/RuleRegistry.html">RuleRegistry</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/RuleStorage.html">RuleStorage</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/SwiftLintFile.html">SwiftLintFile</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/AccessControlLevel.html">AccessControlLevel</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/CurrentRule.html">CurrentRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/Issue.html">Issue</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/OptionType.html">OptionType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/RuleIdentifier.html">RuleIdentifier</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/RuleKind.html">RuleKind</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/RuleListError.html">RuleListError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/SwiftSyntaxKindBridge.html">SwiftSyntaxKindBridge</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Enums/ViolationSeverity.html">ViolationSeverity</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Array.html">Array</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Optional.html">Optional</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/Set.html">Set</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/ASTRule.html">ASTRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/AnalyzerRule.html">AnalyzerRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/CollectingRule.html">CollectingRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/ConditionallySourceKitFree.html">ConditionallySourceKitFree</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/CorrectableRule.html">CorrectableRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/Documentable.html">Documentable</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/Rule.html">Rule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/RuleConfiguration.html">RuleConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Protocols/VersionComparable.html">VersionComparable</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Structs.html">Structures</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Baseline.html">Baseline</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Command.html">Command</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Command/Action.html">– Action</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Command/Modifier.html">– Modifier</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/ConfigurationElement.html">ConfigurationElement</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/ConfigurationElement/DeprecationNotice.html">– DeprecationNotice</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Correction.html">Correction</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Example.html">Example</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Location.html">Location</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation/ViolationCorrection.html">– ViolationCorrection</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RegexConfiguration.html">RegexConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RegexConfiguration/ExecutionMode.html">– ExecutionMode</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Region.html">Region</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RuleDescription.html">RuleDescription</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RuleList.html">RuleList</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/RuleParameter.html">RuleParameter</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/SeverityConfiguration.html">SeverityConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/Stack.html">Stack</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/StyleViolation.html">StyleViolation</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Structs/SwiftVersion.html">SwiftVersion</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a class="nav-group-name-link" href="Macros.html">Macros</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Macros.html#/s:13SwiftLintCore32AcceptableByConfigurationElementyycfm">AcceptableByConfigurationElement()</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Macros.html#/s:13SwiftLintCore16AutoConfigParseryycfm">AutoConfigParser()</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a class="nav-group-task-link" href="Macros.html#/s:13SwiftLintCore0A10SyntaxRule15foldExpressions16explicitRewriter11correctable5optInySb_S3btcfm">SwiftSyntaxRule(foldExpressions:explicitRewriter:correctable:optIn:)</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
<article class="main-content">
|
||
|
||
<section class="section">
|
||
<div class="section-content top-matter">
|
||
|
||
<h1 id='attributes' class='heading'>Attributes</h1>
|
||
|
||
<p>Attributes should be on their own lines in functions and types, but on the same line as variables and imports</p>
|
||
|
||
<ul>
|
||
<li><strong>Identifier:</strong> <code>attributes</code></li>
|
||
<li><strong>Enabled by default:</strong> No</li>
|
||
<li><strong>Supports autocorrection:</strong> No</li>
|
||
<li><strong>Kind:</strong> style</li>
|
||
<li><strong>Analyzer rule:</strong> No</li>
|
||
<li><strong>Minimum Swift compiler version:</strong> 5.0.0</li>
|
||
<li><strong>Default configuration:</strong>
|
||
<table>
|
||
<thead>
|
||
<tr><th>Key</th><th>Value</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
severity
|
||
</td>
|
||
<td>
|
||
warning
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
attributes_with_arguments_always_on_line_above
|
||
</td>
|
||
<td>
|
||
true
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
always_on_same_line
|
||
</td>
|
||
<td>
|
||
[“@IBAction”, “@NSManaged”]
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
always_on_line_above
|
||
</td>
|
||
<td>
|
||
[]
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table></li>
|
||
</ul>
|
||
<h2 id='rationale' class='heading'>Rationale</h2>
|
||
|
||
<p>Erica Sadun says:</p>
|
||
|
||
<blockquote>
|
||
<p>My take on things after the poll and after talking directly with a number of developers is this: Placing attributes like <code>@objc</code>, <code>@testable</code>, <code>@available</code>, <code>@discardableResult</code> on their own lines before a member declaration has become a conventional Swift style.</p>
|
||
|
||
<p>This approach limits declaration length. It allows a member to float below its attribute and supports flush-left access modifiers, so <code>internal</code>, <code>public</code>, etc appear in the leftmost column. Many developers mix-and-match styles for short Swift attributes like <code>@objc</code></p>
|
||
</blockquote>
|
||
|
||
<p>See <a href="https://ericasadun.com/2016/10/02/quick-style-survey/">https://ericasadun.com/2016/10/02/quick-style-survey/</a> for discussion.</p>
|
||
|
||
<p>SwiftLint’s rule requires attributes to be on their own lines for functions and types, but on the same line for variables and imports.</p>
|
||
<h2 id='non-triggering-examples' class='heading'>Non Triggering Examples</h2>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span> <span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span> <span class="kd">private</span> <span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@nonobjc</span> <span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBOutlet</span> <span class="kd">private</span> <span class="k">var</span> <span class="nv">label</span><span class="p">:</span> <span class="kt">UILabel</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBOutlet</span> <span class="kd">@objc</span> <span class="kd">private</span> <span class="k">var</span> <span class="nv">label</span><span class="p">:</span> <span class="kt">UILabel</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSCopying</span> <span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">NSString</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSManaged</span> <span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBInspectable</span> <span class="k">var</span> <span class="nv">cornerRadius</span><span class="p">:</span> <span class="kt">CGFloat</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="k">let</span> <span class="nv">stackView</span><span class="p">:</span> <span class="kt">UIStackView</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSManaged</span> <span class="kd">func</span> <span class="nf">addSomeObject</span><span class="p">(</span><span class="nv">book</span><span class="p">:</span> <span class="kt">SomeObject</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBAction</span> <span class="kd">func</span> <span class="nf">buttonPressed</span><span class="p">(</span><span class="nv">button</span><span class="p">:</span> <span class="kt">UIButton</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">@IBAction</span> <span class="kd">func</span> <span class="nf">buttonPressed</span><span class="p">(</span><span class="nv">button</span><span class="p">:</span> <span class="kt">UIButton</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">func</span> <span class="nf">animate</span><span class="p">(</span><span class="nv">view</span><span class="p">:</span> <span class="kt">UIStackView</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">deprecated</span><span class="p">,</span> <span class="nv">message</span><span class="p">:</span> <span class="s">"A message"</span><span class="p">)</span>
|
||
<span class="kd">func</span> <span class="nf">animate</span><span class="p">(</span><span class="nv">view</span><span class="p">:</span> <span class="kt">UIStackView</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@nonobjc</span>
|
||
<span class="kd">final</span> <span class="kd">class</span> <span class="kt">X</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">class</span> <span class="kt">UIStackView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSApplicationMain</span>
|
||
<span class="kd">class</span> <span class="kt">AppDelegate</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSApplicationDelegate</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@UIApplicationMain</span>
|
||
<span class="kd">class</span> <span class="kt">AppDelegate</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">UIApplicationDelegate</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBDesignable</span>
|
||
<span class="kd">class</span> <span class="kt">MyCustomView</span><span class="p">:</span> <span class="kt">UIView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@testable</span> <span class="kd">import</span> <span class="kt">SourceKittenFramework</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="n">foo_x</span><span class="p">)</span>
|
||
<span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">@objc</span><span class="p">(</span><span class="n">abc_stackView</span><span class="p">)</span>
|
||
<span class="k">let</span> <span class="nv">stackView</span><span class="p">:</span> <span class="kt">UIStackView</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="nv">abc_addSomeObject</span><span class="p">:)</span>
|
||
<span class="kd">@NSManaged</span> <span class="kd">func</span> <span class="nf">addSomeObject</span><span class="p">(</span><span class="nv">book</span><span class="p">:</span> <span class="kt">SomeObject</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="kt">ABCThing</span><span class="p">)</span>
|
||
<span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">class</span> <span class="kt">Thing</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Foo</span><span class="p">:</span> <span class="kt">NSObject</span> <span class="p">{</span>
|
||
<span class="k">override</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="s">""</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Foo</span><span class="p">:</span> <span class="kt">NSObject</span> <span class="p">{</span>
|
||
|
||
<span class="k">override</span> <span class="kd">func</span> <span class="nf">setUp</span><span class="p">()</span> <span class="p">{}</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">class</span> <span class="err">⽺</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt">Property</span> <span class="p">{</span>
|
||
|
||
<span class="kd">@available</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">unavailable</span><span class="p">,</span> <span class="nv">renamed</span><span class="p">:</span> <span class="s">"isOptional"</span><span class="p">)</span>
|
||
<span class="kd">public</span> <span class="k">var</span> <span class="nv">optional</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="nf">fatalError</span><span class="p">()</span> <span class="p">}</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@GKInspectable</span> <span class="k">var</span> <span class="nv">maxSpeed</span><span class="p">:</span> <span class="kt">Float</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@discardableResult</span>
|
||
<span class="kd">func</span> <span class="nf">a</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">@discardableResult</span>
|
||
<span class="kd">func</span> <span class="nf">a</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">increase</span><span class="p">(</span><span class="nv">f</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">foo</span><span class="p">(</span><span class="nv">completionHandler</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">struct</span> <span class="kt">DefaultError</span><span class="p">:</span> <span class="kt">Error</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@testable</span> <span class="kd">import</span> <span class="n">foo</span>
|
||
|
||
<span class="kd">private</span> <span class="k">let</span> <span class="nv">bar</span> <span class="o">=</span> <span class="mi">1</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">XCTest</span>
|
||
<span class="kd">@testable</span> <span class="kd">import</span> <span class="kt">DeleteMe</span>
|
||
|
||
<span class="kd">@available</span> <span class="p">(</span><span class="n">iOS</span> <span class="mf">11.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">class</span> <span class="kt">DeleteMeTests</span><span class="p">:</span> <span class="kt">XCTestCase</span> <span class="p">{</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">internal</span> <span class="kd">func</span> <span class="nf">foo</span><span class="p">(</span><span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(()</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">))</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">internal</span> <span class="kd">func</span> <span class="nf">foo</span><span class="p">(</span><span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="p">(()</span> <span class="o">-></span> <span class="kt">Bool</span><span class="p">))</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">printBoolOrTrue</span><span class="p">(</span><span class="n">_</span> <span class="nv">expression</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="p">()</span> <span class="k">throws</span> <span class="o">-></span> <span class="kt">Bool</span><span class="p">?)</span> <span class="k">rethrows</span> <span class="p">{</span>
|
||
<span class="k">try</span> <span class="nf">print</span><span class="p">(</span><span class="nf">expression</span><span class="p">()</span> <span class="p">??</span> <span class="kc">true</span><span class="p">)</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">Foundation</span>
|
||
|
||
<span class="kd">class</span> <span class="kt">MyClass</span><span class="p">:</span> <span class="kt">NSObject</span> <span class="p">{</span>
|
||
<span class="kd">@objc</span><span class="p">(</span>
|
||
<span class="nv">first</span><span class="p">:</span>
|
||
<span class="p">)</span>
|
||
<span class="kd">static</span> <span class="kd">func</span> <span class="nf">foo</span><span class="p">(</span><span class="nv">first</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="p">{}</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">refreshable</span><span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">()</span> <span class="k">async</span> <span class="o">-></span> <span class="kt">Void</span><span class="p">)</span> <span class="o">-></span> <span class="kd">some</span> <span class="kt">View</span> <span class="p">{</span>
|
||
<span class="nf">modifier</span><span class="p">(</span><span class="kt">RefreshableModifier</span><span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="n">action</span><span class="p">))</span>
|
||
<span class="p">}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">AppKit</span>
|
||
|
||
<span class="kd">@NSApplicationMain</span>
|
||
<span class="kd">@MainActor</span>
|
||
<span class="kd">final</span> <span class="kd">class</span> <span class="kt">AppDelegate</span><span class="p">:</span> <span class="kt">NSAppDelegate</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">private</span> <span class="err">↓</span><span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@nonobjc</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBOutlet</span>
|
||
<span class="kd">private</span> <span class="err">↓</span><span class="k">var</span> <span class="nv">label</span><span class="p">:</span> <span class="kt">UILabel</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBOutlet</span>
|
||
|
||
<span class="kd">private</span> <span class="err">↓</span><span class="k">var</span> <span class="nv">label</span><span class="p">:</span> <span class="kt">UILabel</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSCopying</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">NSString</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSManaged</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBInspectable</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">cornerRadius</span><span class="p">:</span> <span class="kt">CGFloat</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span> <span class="err">↓</span><span class="k">let</span> <span class="nv">stackView</span><span class="p">:</span> <span class="kt">UIStackView</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@NSManaged</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">addSomeObject</span><span class="p">(</span><span class="nv">book</span><span class="p">:</span> <span class="kt">SomeObject</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBAction</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">buttonPressed</span><span class="p">(</span><span class="nv">button</span><span class="p">:</span> <span class="kt">UIButton</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBAction</span>
|
||
<span class="kd">@objc</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">buttonPressed</span><span class="p">(</span><span class="nv">button</span><span class="p">:</span> <span class="kt">UIButton</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span> <span class="err">↓</span><span class="kd">func</span> <span class="nf">animate</span><span class="p">(</span><span class="nv">view</span><span class="p">:</span> <span class="kt">UIStackView</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@nonobjc</span> <span class="kd">final</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">X</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">UIStackView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">@objc</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">UIStackView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span> <span class="kd">@objc</span>
|
||
<span class="err">↓</span><span class="kd">class</span> <span class="kt">UIStackView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
|
||
<span class="err">↓</span><span class="kd">class</span> <span class="kt">UIStackView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@UIApplicationMain</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">AppDelegate</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">UIApplicationDelegate</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@IBDesignable</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">MyCustomView</span><span class="p">:</span> <span class="kt">UIView</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@testable</span>
|
||
<span class="err">↓</span><span class="kd">import</span> <span class="kt">SourceKittenFramework</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@testable</span>
|
||
|
||
|
||
<span class="err">↓</span><span class="kd">import</span> <span class="kt">SourceKittenFramework</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span> <span class="kd">@objc</span><span class="p">(</span><span class="n">abc_stackView</span><span class="p">)</span>
|
||
<span class="err">↓</span><span class="k">let</span> <span class="nv">stackView</span><span class="p">:</span> <span class="kt">UIStackView</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="nv">abc_addSomeObject</span><span class="p">:)</span> <span class="kd">@NSManaged</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">addSomeObject</span><span class="p">(</span><span class="nv">book</span><span class="p">:</span> <span class="kt">SomeObject</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="nv">abc_addSomeObject</span><span class="p">:)</span>
|
||
<span class="kd">@NSManaged</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">addSomeObject</span><span class="p">(</span><span class="nv">book</span><span class="p">:</span> <span class="kt">SomeObject</span><span class="p">)</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">iOS</span> <span class="mf">9.0</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
|
||
<span class="kd">@objc</span><span class="p">(</span><span class="kt">ABCThing</span><span class="p">)</span> <span class="err">↓</span><span class="kd">class</span> <span class="kt">Thing</span> <span class="p">{}</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@GKInspectable</span>
|
||
<span class="err">↓</span><span class="k">var</span> <span class="nv">maxSpeed</span><span class="p">:</span> <span class="kt">Float</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@discardableResult</span> <span class="err">↓</span><span class="kd">func</span> <span class="nf">a</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
<span class="kd">@discardableResult</span> <span class="err">↓</span><span class="kd">func</span> <span class="nf">a</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">@objc</span>
|
||
|
||
<span class="kd">@discardableResult</span>
|
||
<span class="err">↓</span><span class="kd">func</span> <span class="nf">a</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span>
|
||
</code></pre>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
|
||
</article>
|
||
</div>
|
||
<section class="footer">
|
||
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
|
||
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
|
||
</section>
|
||
</body>
|
||
</html>
|