Index
A
- ABI stability, From Project to Built App
- aborting, Aborting the whole program
- access control (see privacy)
- access, exclusive, Exclusive Access to Value Types
- accessibility, Interface Tests, Interface testing and accessibility
- accessors, Accessors, Properties, and Key–Value Coding
- Accounts preferences, Version Control, Obtaining a Developer Program Membership, The Distribution Certificate
- actions, Action Connections, Actions
- Ad Hoc distribution, Distribution, Distribution for Testing
- address operator, Modifiable Parameters, C Pointers
- Address Sanitizer, Debugging Memory Management Mistakes
- adopt a protocol, Protocols
- allCases, Enum Case Iteration
- Allocations instrument, Instruments
- allSatisfy, Array enumeration and transformation
- ampersand (see address operator)
- anonymous functions, Anonymous Functions
- Any, Any
- AnyClass, AnyClass
- AnyHashable, Swift Dictionary and Objective-C NSDictionary
- AnyObject, AnyObject-Object identity
- API, Preface
- app
- bundle, From Project to Built App
- delegate, How an App Gets Going
- launch process, The App Launch Process
- name, Renaming Parts of a Project, Property List Settings, Submission to the App Store
- registering, Manual Signing
- signing, Signing an App
- target, The Target
- version number, Property List Settings
- without main storyboard, App Without a Storyboard
- App Store, Submission to the App Store
- App Store Connect, Distribution for Testing, Submission to the App Store
- append, String, Basic array properties and methods
- Apple ID, Obtaining a Developer Program Membership
- ARC, Memory Management
- (see also memory management)
- archive
- arguments, Function Parameters and Return Value
- arithmetic operators, Arithmetic operations
- Array, Array
- arrays, Array-Swift Array and Objective-C NSArray
- bridging, Swift Array and Objective-C NSArray, NSValue, NSArray and NSMutableArray, Bridged Types and Boxed Types
- C arrays, C Arrays
- casting, Array casting and type testing
- concatenating, Basic array properties and methods
- declaration, Array
- enumerating, Array enumeration and transformation
- equality, Array comparison
- flattening, Basic array properties and methods, Array enumeration and transformation
- indexing, Array subscripting
- initializers, Array
- literal, Array
- mutating, Array subscripting
- nested, Nested arrays
- Optional, Array casting and type testing, Array enumeration and transformation
- properties and methods, Basic array properties and methods
- randomizing, Basic array properties and methods
- searching, Basic array properties and methods
- sorting, Basic array properties and methods
- subscripting, Array subscripting
- testing all elements, Array enumeration and transformation
- testing element type, Array casting and type testing
- transforming, Array enumeration and transformation
- uniquing, Set
- ArraySlice, Array subscripting
- arrow operator, Function Parameters and Return Value
- as, Casting Down, Protocol Type Testing and Casting, Switch statement
- assert, Aborting the whole program
- asset catalog, From Project to Built App, Resources in an asset catalog, Icons in the app
- assignment, Variables
- assistant, Assistant panes
- associated type, Generic Declarations
- associated value, Associated Values, Switch statement, While loops, For loops
- Attributes inspector, The Utilities Pane, Inspectors
- attributes, custom, Property Wrappers
- authors, Version Control
- autoclosure, Aborting the whole program
- autocompletion, Autocompletion and Placeholders
- automatic signing, Automatic Signing
- automatic variables, Variable Scope and Lifetime
- autorelease, Autorelease Pool
- availability, Class Documentation Pages
- available, Backward Compatibility
- awakeFromNib, Additional Configuration of Nib-Based Instances
B
- backslash, String, Key Paths
- backward compatibility, Backward Compatibility
- bag, NSSet and Friends
- balancing delimiters, Editing
- base class, Subclass and Superclass
- Behaviors preferences, The Navigator Pane
- beta testing, Distribution for Testing
- bilingual target, Bilingual Targets
- binary numbers, Int
- Binding, Bindings
- binding, conditional, Conditional binding, While loops, Guard
- Bitbucket, Version Control
- bitmasks, Option sets, NS_OPTIONS
- bitwise operators, Arithmetic operations, Option sets
- blame, Version Control
- blocks
- body of a function, Function Parameters and Return Value
- bookmarking a line of code, Navigation
- Bool, Bool
- BOOL, NSNumber
- Boolean operators, Bool
- boxing, Bridged Types and Boxed Types
- branching, Branching-Conditional evaluation
- break, Short-circuiting and labels
- Breakpoint navigator, The Navigator Pane
- breakpoints, Breakpoints
- bridged types, Some Foundation Classes, Bridged Types and Boxed Types
- Any and id, Any, Bridged Types and Boxed Types
- AnyObject and id, AnyObject
- Array and NSArray, Swift Array and Objective-C NSArray, NSArray and NSMutableArray, Bridged Types and Boxed Types
- array elements, Swift Array and Objective-C NSArray, NSValue, Bridged Types and Boxed Types
- casting, Bridging to Objective-C
- CFTypeRefs, CFTypeRefs
- Dictionary and NSDictionary, Swift Dictionary and Objective-C NSDictionary
- Error and NSError, Throwing and catching errors
- Foundation, Some Foundation Classes, Bridged Types and Boxed Types
- number and NSNumber, NSNumber
- Set and NSSet, NSSet and Friends
- String and NSString, String, NSString and Friends
- struct and NSValue, NSValue, Bridged Types and Boxed Types
- bridging header, Bilingual Targets
- build, Ground of Being, New Project
- bundle
C
- C, The C Language-Pointer-to-function
- (see also Objective-C)
- arrays, C Arrays
- blocks, Blocks
- data types, C Data Types
- enums, Old-fashioned C enum
- functions, C Functions
- numeric types, Other numeric types
- pointer-to-function, Pointer-to-function, Blocks
- pointer-to-void, C Pointers
- pointers, C Pointers
- strings, C Data Types
- structs, NSValue, C Structs
- Calendar, NSDate and Friends
- call stack, Return, The Navigator Pane, Paused at a breakpoint
- calling a function, Functions, Function Parameters and Return Value
- canvas, The Nib Editor Interface, Canvas
- Capabilities pane, Automatic Signing
- capitalization, Variables
- capture list, Stored anonymous functions
- captured variable references, Closures
- case
- CaseIterable, Enum Case Iteration
- casting, Casting-Bridging to Objective-C
- categories, Categories and Extensions
- caveman debugging, Caveman Debugging
- certificate, Signing an App
- CFTypeRefs, CFTypeRefs
- chains
- change bars, Version Control
- Character, Character and String Index
- character sequence, Character and String Index
- characters vs. codepoints, String
- characters, escaped, String
- class
- classes, Classes-Static properties vs. class properties
- (see also object types)
- class methods, Static methods vs. class methods
- class properties, Static properties vs. class properties
- deinitializers, Class Deinitializer
- documentation, Class Documentation Pages
- generic, subclassing, Explicit Specialization
- hierarchy, Subclass and Superclass
- inheritance, Inheritance
- initializers, Class Initializers
- instances, Value Types and Reference Types
- methods, overriding, Overriding
- omitting type name, Raw Values
- polymorphism, Polymorphism
- properties, overriding, Class Properties
- reference types, Value Types and Reference Types
- static methods, Static methods vs. class methods
- static properties, Static properties vs. class properties
- subclass and superclass, Subclass and Superclass
- subclassing, preventing, Inheritance, Public and Open
- subscripts, overriding, The keyword super
- umbrella type, Umbrella Types, AnyClass
- vs. structs, Classes
- cleaning, Clean
- closures, Closures-Escaping Closures
- Cocoa, Cocoa Classes
- actions, Actions
- categories, Categories and Extensions
- data sources, Data Sources
- delegation, Delegation
- events, Cocoa Events
- Foundation classes, Some Foundation Classes
- key–value coding, Key–Value Coding
- key–value observing, Key–Value Observing
- memory management, Memory Management
- notifications, Notifications
- protocols, Protocols
- responder chain, The Responder Chain
- subclassing, Subclassing, Subclassing
- Codable, Codable
- code
- bookmarking, Navigation
- change bars, Version Control
- completion, Autocompletion and Placeholders
- coverage, Unit Tests, Test Plans
- editing, Text Editing Preferences
- folding, Display
- font, Editing and Navigating Your Code
- indentation, Indentation
- location, Functions, Cocoa Events, Swamped by Events
- navigating, Navigation
- refactoring, Refactoring and Structure Editing
- searching, Finding
- selecting, Multiple Selection
- signing (see signing an app)
- snippets, Snippets
- strings, localizing, Creating Localized Content
- Code Review editor, Version Control
- codepoints, Unicode, String
- coercion, Numeric coercion
- collections
- colon
- adopting protocol, Protocols
- argument label, External Parameter Names
- enum raw value type, Raw Values
- generic type constraint, Type Constraints
- key–value, Dictionary
- label, Short-circuiting and labels
- parameter name, Function Parameters and Return Value
- superclass, Inheritance
- ternary operator, Conditional evaluation
- variable type, Variable Declaration
- Combine framework, The Combine Framework-The Combine Framework
- comma
- arguments, Function Parameters and Return Value
- array literal, Array
- condition list, Conditional binding
- dictionary literal, Dictionary
- generic constraints, Where Clauses
- generic placeholders, Generic Declarations
- parameters, Function Parameters and Return Value
- protocol, Protocols, Adopting a Library Protocol
- switch case, Switch statement
- tuples, Tuple
- variadics, Variadic Parameters
- comments, Ground of Being
- communication, Communication Between Objects
- compactMap, Array enumeration and transformation
- Comparable, Type Constraints
- compare, Equality, Hashability, and Comparison
- comparison operators, Comparison
- ComparisonResult, Equality, Hashability, and Comparison
- compatibility, backward, Backward Compatibility
- compilation, conditional, Conditional Compilation
- compile error, Ground of Being
- (see also errors, compiler)
- Compile Sources build phase, Build Phases
- compiler, Ground of Being
- completion
- compliant, key–value coding, Key–Value Coding
- Components preferences, Schemes and Destinations
- composition of protocols, Protocol Composition
- compound assignment operators, Arithmetic operations
- computed
- concatenating
- condition list, Conditional binding
- conditional
- conditions, Bool, Flow Control
- configurations, Configurations
- conform to a protocol, Protocols
- connections, Connections
- Connections inspector, The Utilities Pane, Automatically Configured Nibs, Deleting an Outlet
- console, The Navigator Pane, Caveman Debugging
- Console application, Caveman Debugging
- constants, Variables, Variable Declaration, Struct as Namespace
- constraints, type, Type Constraints
- contains, Character and String Index, Range, Basic array properties and methods
- continue, Short-circuiting and labels
- control events, Action Connections, Actions
- control flow (see flow control)
- convenience initializers, Kinds of class initializer
- convention(c), Blocks
- Copy Bundle Resources build phase, Build Phases
- copying instances, Class instance references are pointers
- count, String, Basic array properties and methods, Set
- covariant, Polymorphism, Generic Invariance
- coverage, code, Unit Tests, Test Plans
- crash
- class not key–value coding compliant, Outlet–property name mismatch, Key–Value Coding, How Outlets Work
- could not cast value, Type Testing and Casting Down Safely
- deallocated object, Retain Cycles and Weak References
- loaded nib but view outlet was not set, No view outlet
- not enough bits, Other numeric types
- simultaneous accesses, Exclusive Access to Value Types
- unexpectedly found nil, The keyword nil, No outlet in the nib
- unrecognized selector, Selectors, Misconfigured Actions
- creating
- curly braces, Ground of Being, Function Parameters and Return Value, Anonymous Functions, Computed Variables, Setter Observers, String, Object Type Declarations and Features, How to write an initializer, Subscripts, Class Deinitializer, Declaring a Protocol, Extensions, Flow Control
- currying, Curried Functions
- custom attributes, Property Wrappers
- CustomNSError, Throwing and catching errors
- CustomReflectable, Introspection
- CustomStringConvertible, Adopting a Library Protocol
- cycle through a sequence, For loops
D
- dance, weak–strong, Stored anonymous functions
- dangling pointers, Principles of Cocoa Memory Management
- Data, NSData
- data sources, Data Sources
- data tips, Paused at a breakpoint
- Date, NSDate and Friends
- DateComponents, NSDate and Friends
- DateFormatter, NSDate and Friends
- DateInterval, NSDate and Friends
- dates, NSDate and Friends
- debug bar, The Navigator Pane
- Debug menu (Simulator), Running in the Simulator
- Debug navigator, The Navigator Pane, Paused at a breakpoint, Gauges
- Debug pane, The Navigator Pane, Paused at a breakpoint
- debugger, Xcode, The Xcode Debugger
- debugging, Debugging-Paused at a breakpoint
- Decimal, NSNumber
- decimal point, Double
- declaration
- arrays, Array
- dictionaries, Dictionary
- enums, Enums
- extensions, Extensions
- functions, Function Parameters and Return Value
- generics, Generic Declarations
- jumping to, Symbol Declarations
- object types, Object Type Declarations and Features
- operators, Operators
- protocols, Declaring a Protocol
- sets, Set
- variables, Variable Declaration
- decoding and encoding, Codable
- default, Switch statement
- defer, Defer statement
- deferred initialization, Why Optionals?, Deferred initialization of properties
- define-and-call, Define-and-Call
- deinit, Class Deinitializer
- delayed performance, Delayed Performance
- delegate, Delegation
- delegating initializers, Delegating initializers
- delegation (see delegate)
- deleting an outlet, Deleting an Outlet
- delimiters, balancing, Editing
- dependencies, Environmental Dependencies
- Deployment Target build setting, Permissible Runtime Environment
- description, Adopting a Library Protocol
- designated initializers, Kinds of class initializer, Subclass initializers
- destinations, Schemes and Destinations
- developer member center, Signing an App
- Development Assets build setting, Resources in an asset catalog
- development provisioning profile, Automatic Signing
- device
- Devices and Simulators window, Managing Development Certificates and Devices
- dictionaries, Dictionary-Swift Dictionary and Objective-C NSDictionary
- casting, Dictionary casting and comparison
- creating, Dictionary
- declaration, Dictionary
- enumerating, Basic dictionary properties and enumeration
- equality, Dictionary casting and comparison
- keys, Basic dictionary properties and enumeration
- literals, Dictionary
- merging, Basic dictionary properties and enumeration
- mutating, Dictionary subscripting
- properties, Basic dictionary properties and enumeration
- subscripting, Dictionary subscripting
- testing type, Dictionary casting and comparison
- transformations, Basic dictionary properties and enumeration
- unordered, Dictionaries have no order
- values, Basic dictionary properties and enumeration
- Dictionary, Dictionary
- didSet, Setter Observers
- dispatch table, Actions
- dispatch, dynamic, Polymorphism
- display name, Renaming Parts of a Project, Creating Localized Content
- distributing your app, Distribution
- distribution provisioning profile, The Distribution Profile
- do, Nested scopes
- do...catch, Throwing and catching errors
- dock, Document Outline
- document outline, Document Outline
- documentation, Documentation-Internet Resources
- dollar sign, Property Wrappers, Bindings
- doom, pyramid of, Conditional binding
- dot-notation, Everything Is an Object?, Namespaces
- Double, Double
- downcasting (see casting)
- drawing
- drop, Array enumeration and transformation
- dropFirst, Character and String Index, Basic array properties and methods
- dropLast, Character and String Index, Basic array properties and methods
- dump, Introspection, Caveman Debugging
- dynamic
E
- early exit, Jumping
- editing
- editor, The Editor
- Empty Window example project, New Project, Canvas, Subclassing
- encoding and decoding, Codable
- endIndex, Character and String Index, Basic array properties and methods
- entitlements, Signing an App, Automatic Signing
- entry point
- enumerate a sequence, For loops
- enumerated, Tuple, Array enumeration and transformation, For loops
- enums, Enums-Why Enums?
- (see also object types)
- associated value, Associated Values, Switch statement, While loops, For loops, Equatable
- C enums, Old-fashioned C enum
- cases, Enums
- declaration, Enums
- equality, Enums, Associated Values, Equatable
- indirect, Advantages of value types vs. reference types
- initializers, Enum Initializers
- initializing, Enums
- methods, Enum Methods
- omitting type name, Enums
- properties, Enum Properties
- raw value, Raw Values
- subscripts, Enum Methods
- Environment, Global Objects
- environment overrides (debug bar), Running in the Simulator
- environment variables, Arguments and Environment Variables
- EnvironmentValues, Global Objects
- equal sign, Variables
- equality
- Equatable, Associated Values, Extending Generics, Basic array properties and methods, Dictionary
- Error, Throwing and catching errors
- ErrorPointer, Throwing and catching errors
- errors, Throwing and catching errors-Throwing and catching errors
- errors, compiler
- ambiguous, Overloading
- cannot convert value to specified type, Contradictory Resolution Is Impossible
- cannot invoke index, Basic array properties and methods
- cannot use instance member, Property initialization and self
- custom, The Navigator Pane
- escaping closure captures mutating self, Class instances are mutable
- expected declaration, Functions
- expressions are not allowed, Functions
- heterogeneous collection, Array
- initializer requirement, Implicitly Required Initializers
- initializing from a metatype value, Type as Value
- overlapping accesses, Exclusive Access to Value Types
- protocol can only be used, Type Constraints
- required initializer must be provided, Implicitly Required Initializers
- return from initializer, How to write an initializer
- self used, Referring to self
- trailing closure requires parentheses, For loops
- unable to infer return type, Anonymous Function Abbreviated Syntax
- use of unresolved identifier self, Property initialization and self
- value must be unwrapped, Optional
- escaped characters, String
- escaping, Escaping Closures, Class instances are mutable
- evaluation, conditional, Conditional evaluation
- event-based programming, Swamped by Events
- events, Action Connections, Cocoa Events
- exception breakpoint, Breakpoints
- exclamation mark, Unwrapping an Optional, Implicitly unwrapped Optional, Optional chains, Casting Down, Optional methods
- exclusive access, Exclusive Access to Value Types
- exit, early, Jumping
- explicit specialization, Explicit Specialization
- explicit variable type, Variable Declaration
- exporting certificates, The Distribution Certificate
- exporting from an archive, Making an Archive
- ExpressibleByLiteral, Expressible by Literal
- extend (see extensions)
- extensions, Extensions, How Swift Uses Extensions
- external parameter names, External Parameter Names
F
- factory
- failable initializers, Failable initializers, Subclass initializers
- fallthrough, Switch statement, Short-circuiting and labels
- false, Bool
- fatal (see crash)
- fatalError, Aborting the whole program
- File inspector, The Utilities Pane
- file templates, Code Files
- file, Swift, structure, The Structure of a Swift File
- fileprivate, Privacy
- File’s Owner, The Nib Owner
- filter, Array enumeration and transformation, Basic dictionary properties and enumeration
- final, Inheritance, Overriding
- Find navigator, The Navigator Pane, Finding
- finding, Finding
- first, Character and String Index, Basic array properties and methods
- First Responder proxy object, Nil-Targeted Actions
- firstIndex, Character and String Index, Basic array properties and methods
- Fix-it, Fix-it and Live Syntax Checking
- flag, Bool
- flatMap, Optional map and flatMap, Array enumeration and transformation
- flavors (of object type), Three Flavors of Object Type
- Float, Other numeric types
- flow control, Flow Control-Guard
- folder-linked group, Groups
- folders in an Xcode project, Contents of the Project Folder, Resources in the Project navigator
- folding, code, Display
- font, NSString and Friends
- for, For loops
- for case, For loops
- for...in, For loops
- forced unwrap operator, Unwrapping an Optional
- forEach, Array enumeration and transformation
- format string, Caveman Debugging
- Foundation framework, Modules, Some Foundation Classes
- frameworks, Modules, Frameworks, SDKs, and Packages
- creating, Frameworks, SDKs, and Packages
- embedded, Frameworks, SDKs, and Packages
- linking, Frameworks, SDKs, and Packages
- Swift, From Project to Built App
- function builders, Function Builders
- function in function, Function in Function
- functional events, Reasons for Events
- functions, Functions, Functions-Selectors
- anonymous, Anonymous Functions
- (see also anonymous functions)
- body, Function Parameters and Return Value
- C blocks, Blocks
- C functions, C Functions
- calling, Functions, Function Parameters and Return Value
- closures, Closures
- curried, Curried Functions
- declaration, Functions, Function Parameters and Return Value
- default parameter values, Default Parameter Values
- define-and-call, Define-and-Call
- dynamic, Dynamic Membership
- external parameter names, External Parameter Names
- generic, Generic Declarations
- global, The Structure of a Swift File, Modules
- ignored parameters, Ignored Parameters
- internal parameter names, Function Parameters and Return Value
- local, Function in Function
- mathematical, Arithmetic operations
- modifiable parameters, Modifiable Parameters
- overloading, Overloading
- recursion, Recursion
- reference, Function References and Selectors
- result, Function Parameters and Return Value
- rethrows, Throwing and catching errors
- return type, Function Parameters and Return Value
- returned from function, Function Returning Function
- signature, Function Signature
- throws, Throwing and catching errors
- trailing closure, Anonymous Function Abbreviated Syntax
- type, Function as Value
- values, Function as Value
- variadic parameters, Variadic Parameters
G
- garbage collection, Memory Management of Reference Types
- gauges, The Navigator Pane, Profiling
- generated interface header, Bilingual Targets
- generic pointer, C Pointers
- generics, Generics-Where Clauses
- adopting protocol conditionally, Extending Generics
- associated type chains, Associated Type Chains
- classes, subclassing, Explicit Specialization
- declaration, Generic Declarations
- explicit specialization, Explicit Specialization
- extensions, Extending Generics
- functions, Generic Declarations
- object types, Generic Declarations
- polymorphism, Generic Invariance
- protocols, Generic Declarations
- resolution, Generics
- reverse, Reverse Generics
- specialization, Generics
- (see also generics, resolution)
- type constraints, Type Constraints
- type, telling compiler, Type Constraints
- where clauses, Where Clauses
- getter, Computed Variables, Accessors, Properties, and Key–Value Coding
- git, Version Control
- GitHub, Frameworks, SDKs, and Packages, Version Control
- GitLab, Version Control
- global
- globally visible instances, Global Visibility, Global Objects
- golden rule of memory management, Rules of Cocoa Memory Management
- groups, The Navigator Pane, Groups
- guard, Guard
- guard case, Guard
- guard let, Guard
H
- hand-tweaking the APIs, Why Optionals?, Failable initializers, API Markup
- handlers, Function as Value
- hash, Equality, Hashability, and Comparison
- hash character, String
- hashability
- Hashable, Dictionary, Set
- Hasher, Hashable, Equality, Hashability, and Comparison
- hashValue, Hashable
- hasPrefix, String
- hasSuffix, String
- header files, Header Files
- heads-up display, The Nib Owner
- hexadecimal number, Int
- hierarchy
- History inspector, The Utilities Pane, Version Control
- HUD, The Nib Owner
I
- IBAction, Action Connections
- IBInspectable, Additional Configuration of Nib-Based Instances
- IBOutlet, The Nib Owner
- icons, From Project to Built App, Icons in the app
- id, Umbrella Types, Objective-C Objects and C Pointers
- identifiers and reserved words, Privacy
- Identity inspector, The Utilities Pane, Inspectors
- identity operator, Object identity
- identity, developer, Signing an App
- if, If construct
- if case, If case
- if let, Conditional binding
- immutable Objective-C classes, Immutable and Mutable
- implicit initializer, Initializers, Struct Initializers, Kinds of class initializer
- implicitly unwrapped Optional, Implicitly unwrapped Optional
- import statement, The Structure of a Swift File, Frameworks, SDKs, and Packages
- in, Anonymous Functions
- index
- IndexSet, NSIndexSet
- indices, Basic array properties and methods, For loops
- indirect, Advantages of value types vs. reference types
- inferred variable type, Variable Declaration
- Info.plist, From Project to Built App, Property List Settings, Property List Settings
- informal protocols, Informal Protocols
- inheritance, Inheritance
- init, How to write an initializer
- init(coder:), Implicitly Required Initializers
- initialization
- initializers, Variadic Parameters, Initializers
- class, Class Initializers
- communication through, Visibility by Instantiation
- convenience, Kinds of class initializer
- delegating, Delegating initializers
- designated, Kinds of class initializer
- enum, Enum Initializers
- failable, Failable initializers, Subclass initializers
- implicit, Initializers
- inheritance, Subclass initializers
- Objective-C, Objective-C Initializers and Factories
- overriding, Subclass initializers
- property wrapper, Property Wrappers
- recursive, Delegating initializers
- required, Required initializers, From self to Type, Implicitly Required Initializers
- struct, Struct Initializers
- inout, Modifiable Parameters
- input, Function Parameters and Return Value
- insert, Character and String Index, Basic array properties and methods
- instance
- instances, Instances, Instances-The Keyword self, Getting a Reference
- communication (see communication)
- copying, Class instance references are pointers
- creation, Instances, Variadic Parameters, Initializers, Getting a Reference
- getting a reference, Getting a Reference
- globally visible, Global Visibility, Global Objects
- initial, The Entry Point
- lifetime, Getting a Reference
- literals instead, Expressible by Literal
- multiple references, Class instance references are pointers
- mutating, Reference Type Modifiable Parameters, Class instances are mutable
- nib-based, Loading a Nib
- relationships between, Visibility by Relationship
- state, Why Instances?
- type, Polymorphism
- instantiation, Instances, Variadic Parameters, Initializers, Getting a Reference
- Instruments, Profiling, Debugging Memory Management Mistakes
- Int, Int
- Interface Builder, Nib Files
- interface tests, Testing
- internal, Privacy
- internal identity principle, Polymorphism
- internal parameter names, Function Parameters and Return Value
- internationalization (see localization)
- internet as documentation, Internet Resources
- interpolation, string, String, Adopting a Library Protocol
- interval operators, Range
- introspection, Introspection, Optional Members, Key–Value Coding
- iOS Deployment Target build setting, Permissible Runtime Environment
- is, Type Testing and Casting Down Safely, Protocol Type Testing and Casting
- isEmpty, String, Basic array properties and methods, Set
- isEqual, Equality, Hashability, and Comparison
- Issue navigator, The Navigator Pane
- issues, live, Fix-it and Live Syntax Checking
- iteration, Flow Control
- iTunes Connect (see App Store Connect)
L
- labels
- last, Character and String Index, Basic array properties and methods
- lastIndex, Character and String Index, Basic array properties and methods
- launch images, Launch images
- launch nib, Launch images
- launch process of an app, The App Launch Process
- layer, configuring in the nib, Additional Configuration of Nib-Based Instances
- lazy
- Leaks instrument, Instruments
- leaks, memory, Memory Management of Reference Types, Gauges, Memory Debugging, Principles of Cocoa Memory Management, Retain Cycles and Weak References
- let, Variables, Variable Declaration, Class instances are mutable
- Library, Canvas
- lifetime, Variables, Scope and Lifetime
- lifetime events, Reasons for Events
- lightweight generics, Swift Array and Objective-C NSArray, Lightweight generics
- line, Ground of Being
- linking, Frameworks, SDKs, and Packages
- literals
- live issues, Fix-it and Live Syntax Checking
- LLDB, Paused at a breakpoint
- loading a nib, Nib Files, Loading a Nib
- local variables, Variable Scope and Lifetime
- Locale, NSDate and Friends
- localization, Localization-Testing Localization
- LocalizedError, Throwing and catching errors
- logging, Caveman Debugging
- logical operators, Bool
- looping, Flow Control, Loops-For loops
- lowercased, String
M
- main
- main storyboard, Nib Files, How an App Gets Going
- main swift file, Functions, The Entry Point
- main view of view controller, Document Outline
- mangling, name, Exposure of Swift to Objective-C
- map, Optional map and flatMap, Array enumeration and transformation
- mapValues, Basic dictionary properties and enumeration
- MARK comments, Display, Navigation
- Markdown, Quick Help
- marketing icon, Marketing icon
- math functions, Arithmetic operations
- max, Basic array properties and methods
- Measurement, NSMeasurement and Friends
- MeasurementFormatter, NSMeasurement and Friends
- member center, Signing an App
- members, Object Members
- memberwise initializer, Struct Initializers
- memory graph, Memory Debugging
- memory leaks, Memory Management of Reference Types, Gauges, Memory Debugging, Principles of Cocoa Memory Management, Retain Cycles and Weak References
- memory management, Memory Management-Exclusive Access to Value Types, Memory Management-Debugging Memory Management Mistakes
- anonymous functions, Stored anonymous functions
- ARC, What ARC Is and What It Does
- autorelease pool, Autorelease Pool
- CFTypeRefs, Memory Management of CFTypeRefs
- collections, How Cocoa Objects Manage Memory, Other Unusual Situations
- dangling pointers, Principles of Cocoa Memory Management
- debugging, Debugging Memory Management Mistakes
- delegates, Retain Cycles and Weak References
- golden rule, Rules of Cocoa Memory Management
- graph, Memory Debugging
- key–value observing, KVO Observers
- leaks, Memory Management of Reference Types, Memory Debugging, Principles of Cocoa Memory Management
- mutable Objective-C classes, Property Memory Management Policies
- nib-loaded objects, Nib Loading and Memory Management
- nilifying unsafe references, Retain Cycles and Weak References
- notifications, Notification Observers
- ownership, Rules of Cocoa Memory Management
- properties, Memory Management of Instance Properties
- protocol references, Memory management of protocol-typed references
- retain cycles, Memory Management of Reference Types, Retain Cycles and Weak References
- retains, unusual, Other Unusual Situations
- timers, Timers
- Unmanaged, Memory Management of CFTypeRefs
- unowned references, Unowned references, Retain Cycles and Weak References
- unsafe references, Retain Cycles and Weak References
- UnsafePointer, C Arrays
- weak references, Weak references, Retain Cycles and Weak References
- merging dictionaries, Basic dictionary properties and enumeration
- messages, Everything Is an Object?
- metatype, Type as Value
- methods, Object Members, Methods
- (see also functions)
- class, Methods
- enums, Enum Methods
- external parameter names, Objective-C Methods
- inheritance, Inheritance
- instance, Instances, Methods
- mutating, Enum Methods, Struct Methods, Class instances are mutable
- Objective-C, Objective-C Methods
- omitting type name, Raw Values
- optional, Optional Protocol Members, Optional Members
- overriding, Overriding
- selectors, Selectors
- static, Methods
- structs, Struct Methods
- min, Basic array properties and methods
- minimap, Navigation
- Mirror, Introspection
- modifiers, Function Builders and Modifiers
- modules, The Structure of a Swift File, Modules, Frameworks, SDKs, and Packages
- multiple selection, Multiple Selection
- mutable Objective-C classes, Immutable and Mutable
- mutating
N
- name mangling, Exposure of Swift to Objective-C
- namespaces, Namespaces, Nested Object Types, Struct as Namespace, Extensions
- navigating code, Navigation
- Navigator pane, The Navigator Pane
- nested
- Never, Aborting the whole program
- NeXTStep, Nib Files
- nib editor, Nib Files
- nib files, Nib Files, Nib Files-Additional Configuration of Nib-Based Instances
- nib objects, Document Outline
- nib owner, The Nib Owner
- nib-based instantiation, Nib Files, Nib Loading and Memory Management
- nib-loading mechanism, Loading a Nib
- nil, The keyword nil
- nil-coalescing operator, Conditional evaluation
- nil-targeted actions, Nil-Targeted Actions
- nilifying unsafe references, Retain Cycles and Weak References
- nonnull, Nullability
- nonobjc, Exposure of Swift to Objective-C
- Notification, Notifications
- Notification.Name, Notifications
- NotificationCenter, Notifications
- notifications, Notifications
- NSArray, Swift Array and Objective-C NSArray, NSArray and NSMutableArray
- NSAttributedString, NSString and Friends
- NSCoder, Codable
- NSCoding, Implicitly Required Initializers
- NSCopying, Protocols, Property Memory Management Policies
- NSCountedSet, NSSet and Friends
- NSDecimalNumber, NSNumber
- NSDictionary, Swift Dictionary and Objective-C NSDictionary, NSDictionary and NSMutableDictionary
- NSError, Throwing and catching errors
- NSErrorPointer, Throwing and catching errors
- NSHashTable, Other Unusual Situations
- NSKeyedArchiver, NSData, Codable
- NSLog, Caveman Debugging
- NSMapTable, Other Unusual Situations
- NSMutableArray, Swift Array and Objective-C NSArray, NSArray and NSMutableArray
- NSMutableDictionary, Swift Dictionary and Objective-C NSDictionary, NSDictionary and NSMutableDictionary
- NSMutableOrderedSet, NSSet and Friends
- NSMutableSet, NSSet and Friends
- NSMutableString, NSString and Friends
- NSNotFound, NSNotFound
- NSNull, NSNull
- NSNumber, NSNumber
- NSObject, Subclass and Superclass, The Secret Life of NSObject-The Secret Life of NSObject
- NSObjectProtocol, The Secret Life of NSObject
- NSOrderedSet, NSSet and Friends
- NSPointerArray, Other Unusual Situations
- NSRange, NSRange
- NSRegularExpression, NSString and Friends
- NSSet, NSSet and Friends
- NSString, String, NSString and Friends
- NSValue, NSValue
- NS_ENUM, NS_ENUM
- NS_OPTIONS, NS_OPTIONS
- nullable, Nullability
- numeric
O
- objc, Selectors, Optional Protocol Members, Suppressing type checking, Private and Fileprivate, Memory management of protocol-typed references, Swift Accessors, NS_ENUM, Exposure of Swift to Objective-C
- objcMembers, Exposure of Swift to Objective-C
- object types, Object Types-Static properties vs. class properties
- comparison, Comparing Types
- declaration, Object Type Declarations and Features
- definition over multiple files, Extensions
- extensions, Extensions
- flavors, Three Flavors of Object Type
- generic, Generic Declarations
- initializers, Initializers
- methods, Methods
- nested, Nested Object Types
- Objective-C, Objective-C Objects and Swift Objects
- passing or assigning, Type as Value
- polymorphism, From self to Type
- printing, From Instance to Type
- properties, Properties
- reference vs. value, Value Types and Reference Types
- references to, From Instance to Type
- scope, Object Type Declarations and Features
- subscripts, Subscripts
- umbrella types, Umbrella Types
- Objective-C, C, Objective-C, and Swift-Lightweight generics
- (see also bridged types)
- accessors, Computed Properties, Accessors, Properties, and Key–Value Coding
- categories, Categories and Extensions
- class factory methods, Objective-C Initializers and Factories
- collections, NSIndexSet-Immutable and Mutable, Lightweight generics
- comparison, Equality, Hashability, and Comparison
- equality, Equality, Hashability, and Comparison
- hashability, Equality, Hashability, and Comparison
- header files, Bilingual Targets
- id, Umbrella Types, Objective-C Objects and C Pointers
- immutable vs. mutable classes, Immutable and Mutable
- initializers, Objective-C Initializers and Factories
- instance variables, Accessors, Properties, and Key–Value Coding
- lightweight generics, Swift Array and Objective-C NSArray, Lightweight generics
- methods, Objective-C Methods
- namespaces, Objective-C
- object references, Objective-C Objects and C Pointers
- object types, Objective-C Objects and Swift Objects
- Optionals, Why Optionals?
- properties, Accessors, Properties, and Key–Value Coding
- protocols, Protocols
- selectors, Selectors
- subscripts, NSArray and NSMutableArray-NSSet and Friends
- Swift
- objects, Everything Is an Object?
- Objects library, Canvas
- ObservableObject, Custom State Objects
- observers, setter, Setter Observers
- octal numbers, Int
- opaque types, Reverse Generics
- open, Privacy
- operator syntax, Everything Is an Object?, Operators
- operators, Operators-Operators
- arithmetic, Arithmetic operations
- bitwise, Arithmetic operations, Option sets
- Boolean, Bool
- Combine framework, The Combine Framework
- comparison, Comparison
- compound assignment, Arithmetic operations
- creating, Operators
- declaration, Operators
- equality, Comparison
- identity, Object identity
- interval, Range
- nil-coalescing, Conditional evaluation
- overriding, Operators
- precedence, Arithmetic operations, Operators
- ternary, Conditional evaluation
- unwrap, Unwrapping an Optional, Optional chains
- Optimization Level build setting, Configurations
- optimizing, Profiling
- option sets, Option sets, NS_OPTIONS
- optional
- Optional chains, Optional chains
- Optionals, Optional-Why Optionals?
- array of, Array casting and type testing, Array enumeration and transformation
- casting, Type Testing and Casting Optionals
- chain, Optional chains
- comparison, Comparison with Optional
- creating, Optional
- declaration, Optional
- deferred initialization, Why Optionals?, Deferred initialization of properties
- double-wrapped, Optional properties, Basic array properties and methods
- empty, The keyword nil
- enum, Associated Values, Generics
- equality, Comparison with Optional
- flatMap, Optional map and flatMap
- implicitly unwrapped, Implicitly unwrapped Optional, Nullability
- initialization, The keyword nil
- map, Optional map and flatMap
- messages to, Optional chains
- nil, The keyword nil
- Objective-C, Why Optionals?
- properties, Deferred initialization of properties
- type, Optional
- unwrapping, Unwrapping an Optional, The keyword nil, Conditional binding, Switch statement, Conditional evaluation, While loops, Guard
- wrapping, Optional
- OptionSet, Option sets, NS_OPTIONS
- organization identifier, New Project
- Organizer window, Making an Archive
- orientation of interface, Property List Settings
- OSLog, Caveman Debugging
- outlet collections, Outlet Collections
- outlets, Outlets
- output, Function Parameters and Return Value
- overflow, Arithmetic operations
- overlay, Swift, Some Foundation Classes, Bridged Types and Boxed Types
- overloading, Overloading
- overriding, Overriding
- overscroll, Editing
- owner
P
- packages, Frameworks, SDKs, and Packages
- pane, editor, Editor panes
- parameter list, Function Parameters and Return Value
- parameters, Function Parameters and Return Value
- parentheses
- calling a function, Function Parameters and Return Value
- coercion, Numeric coercion
- declaring a function, Function Parameters and Return Value
- instantiating an object type, Instances, Variadic Parameters, Initializers
- order of operations, Bool, Arithmetic operations
- signifying Void, Void Return Type and Parameters, Tuple
- tuples, Tuple
- partial range, Range, Array subscripting, Basic array properties and methods, Dictionary, Switch statement
- patterns, switch statement, Switch statement
- persistence (see lifetime)
- persisting references, Memory Management of Reference Types
- pipeline
- placeholders
- pointee, Called by Objective-C with Modifiable Parameters, C Pointers
- pointer-to-void, C Pointers
- pointers, Calling Objective-C with Modifiable Parameters, Class instance references are pointers, Objective-C Objects and C Pointers, CFTypeRefs
- polymorphism, Polymorphism
- pool, autorelease, Autorelease Pool
- popFirst, Basic array properties and methods
- popLast, Basic array properties and methods
- Portal, Signing an App
- posting a notification, Notifications
- precedence, Operators
- precondition, Aborting the whole program
- prefix, Character and String Index, Basic array properties and methods, Array enumeration and transformation
- previews, video, Screenshots and Video Previews
- print, Ground of Being, Variadic Parameters, Adopting a Library Protocol, Caveman Debugging
- privacy, Privacy, Privacy-Privacy Rules
- private, Privacy
- product name, New Project
- profile (see provisioning profile)
- profiling, Profiling
- project, Anatomy of an Xcode Project
- Project navigator, The Navigator Pane, Navigation
- projected value, Property Wrappers
- properties, Object Members, Variable Scope and Lifetime, Properties
- (see also variables)
- accessors, Swift Accessors
- binding, Bindings
- class, Variable Scope and Lifetime, How properties are accessed
- communication through, Visibility Through an Instance Property
- computed, Computed Properties
- dynamic, Dynamic Membership, Key–Value Observing Example
- enums, Enum Properties
- initialization, How to write an initializer, Property initialization and self
- inspectable, Additional Configuration of Nib-Based Instances
- instance, Instances, Variable Scope and Lifetime, How properties are accessed
- memory management, Memory Management of Instance Properties
- Objective-C, Accessors, Properties, and Key–Value Coding
- omitting type name, Raw Values
- Optional, Deferred initialization of properties
- optional, Optional Protocol Members
- overriding, Class Properties
- private, Privacy
- releasing, Memory Management of Instance Properties
- state, State Properties
- static, Variable Scope and Lifetime, How properties are accessed
- structs, Struct Properties
- property list, target (see Info.plist)
- property lists, Property Lists
- property wrappers, Property Wrappers, Property Wrappers
- protocols, Protocols-Expressible by Literal, Protocols
- adopter, Generic Declarations
- adopting, Protocols
- associated type, Generic Declarations
- casting, Protocol Type Testing and Casting
- class, Class Protocols
- composition, Protocol Composition
- conditional conformance, Extending Generics
- conforming to, Protocols
- declaration, Declaring a Protocol
- delegate, Implementing Delegation
- documentation, Protocols
- extensions, Extending Protocols, How You Use Extensions
- generic, Generic Declarations
- implicitly required initializers, Implicitly Required Initializers
- informal, Informal Protocols
- memory management, Memory management of protocol-typed references
- Objective-C, Protocols
- optional members, Optional Protocol Members, Optional Members
- synthesizing, Synthesized Protocol Implementations
- testing type, Protocol Type Testing and Casting
- provisioning profile, Signing an App
- proxy objects, Document Outline, The Nib Owner
- public, Privacy
- Published, The Combine Framework
- Publisher, The Combine Framework
- pyramid of doom, Conditional binding
Q
- query events, Reasons for Events
- question mark, Optional, Optional chains, Type Testing and Casting Down Safely, Optional methods, Switch statement, Conditional evaluation
- Quick Help, The Utilities Pane, Quick Help
- Quick Look a variable, Paused at a breakpoint
- quotes, String
R
- random, Arithmetic operations
- randomElement, Basic array properties and methods
- Range, Range
- ranges, Range
- coercion to NSRange, NSRange
- indexing with, Range, Array subscripting
- iterating in reverse, Operators
- partial, Range, Array subscripting, Basic array properties and methods, Dictionary, Switch statement
- string, String, Extensions, NSRange
- raw value, Raw Values
- RawRepresentable, Raw Values
- read-only variables, Computed Variables
- recursion, Recursion
- recursive
- reduce, Array enumeration and transformation
- refactoring, Refactoring and Structure Editing
- reference types, Value Types and Reference Types
- references, Variables, Variables and Simple Types
- functions, Function References and Selectors
- getting, Getting a Reference
- object types, From Instance to Type
- persisting, Memory Management of Reference Types
- recursive, Advantages of value types vs. reference types
- same object, Class instance references are pointers, Object identity
- strong, Memory Management of Reference Types
- unowned, Unowned references, Retain Cycles and Weak References
- unsafe, Retain Cycles and Weak References
- weak, Weak references, Retain Cycles and Weak References
- registering
- regular expressions, NSString and Friends
- Related Items menu, The Editor
- release, Rules of Cocoa Memory Management
- releasing a property, Memory Management of Instance Properties
- remove, Character and String Index, Basic array properties and methods
- removeFirst, Basic array properties and methods
- removeLast, Basic array properties and methods
- removeSubrange, Range
- removeValue, Dictionary subscripting
- renamification, Renamification
- renaming a project, Renaming Parts of a Project
- replaceSubrange, Range
- replacing, Finding
- Report navigator, The Navigator Pane, Unit Tests
- required initializers, Required initializers, From self to Type, Implicitly Required Initializers
- reserved words, Privacy
- resolution, screen, Device Type
- resolving a generic, Generics, Explicit Specialization
- resources, Resources
- responder, The Responder Chain
- responds, Optional Members
- Result, Result
- result of a function, Function Parameters and Return Value
- retain, Rules of Cocoa Memory Management
- retain count, Principles of Cocoa Memory Management
- retain cycles, Memory Management of Reference Types, Retain Cycles and Weak References
- retains, unusual, Other Unusual Situations
- rethrows, Throwing and catching errors
- return, Function Parameters and Return Value
- reverse generics, Reverse Generics
- reversed, Range, Basic array properties and methods
- root class, Subclass and Superclass
- root view controller, How an App Gets Going
- run, Ground of Being, New Project
S
- sample code, Apple’s, Sample Code
- scalars, Everything Is an Object?, NSNumber, C Data Types
- Scanner, NSString and Friends
- scene
- Scheme pop-up menu, Schemes and Destinations
- schemes, Schemes and Destinations
- scientific notation, Double
- scope, Scope and Lifetime
- screen resolution, Device Type
- screencasts, Screenshots and Video Previews
- screenshots, Persisting screenshots, Screenshots and Video Previews
- SDKs, Schemes and Destinations, Frameworks, SDKs, and Packages
- searching
- selection, multiple, Multiple Selection
- Selector, Selectors
- selectors, Selectors, Selectors
- self, The Keyword self
- escaping functions, Escaping Closures, Class instances are mutable
- initializers, Referring to self, Kinds of class initializer
- instance methods, The Keyword self, Object Type Declarations and Features
- polymorphism, Polymorphism
- property initialization, Property initialization and self
- static/class methods, Object Type Declarations and Features
- type name with, Type as Value
- type of, From self to Type
- Self, From self to Type, Generic Declarations, Associated Type Chains
- semicolon, Ground of Being
- sequence
- array initializer, Array
- character, Character and String Index
- cycling through, For loops
- enumerating with index, Tuple, For loops
- function, For loops
- generating, For loops
- lazy, For loops
- range indexing, Range
- transforming, For loops
- Sequence, For loops
- serialization, Property Lists
- Set, Set
- sets, Set-Swift Set and Objective-C NSSet, NSSet and Friends
- declaration, Set
- equality, Set
- hashable elements, Set
- initializers, Set
- literals, Set
- mutating, Set
- operations, Set
- option sets, Option sets, NS_OPTIONS
- ordered, NSSet and Friends
- sampling, Set
- transformations, Set
- unordered, Set
- setter, Computed Variables, Accessors, Properties, and Key–Value Coding
- shared application instance, How an App Gets Going
- short-circuiting, Short-circuiting and labels
- shuffle, Basic array properties and methods
- side effects, Function Parameters and Return Value
- signature of a function, Function Signature
- signing an app, Signing an App
- signposts, Instruments
- simd, Arithmetic operations
- Simulator, Running in the Simulator
- Single View App template, New Project
- singleton, Singleton
- Size inspector, The Utilities Pane, Inspectors
- slice, Array subscripting
- snippets
- some, Reverse Generics
- sort, Basic array properties and methods
- sorted, Basic array properties and methods
- Source Control navigator, The Navigator Pane, Version Control
- Source Control preferences and menu, Version Control
- specializing a generic, Generics, Explicit Specialization
- splatting, Variadic Parameters
- split, Character and String Index, Basic array properties and methods
- square brackets, Subscripts, Array, Dictionary
- stack, call, Return, The Navigator Pane, Paused at a breakpoint
- startIndex, Character and String Index, Basic array properties and methods
- starts, Basic array properties and methods
- State, Property Wrappers, State Properties
- state of an instance, Why Instances?
- statement, Ground of Being
- static
- stepping, Paused at a breakpoint
- stored variables, Computed Variables
- storyboard files, Nib Files
- stride, For loops
- String, String
- String.Index, Character and String Index
- stringly typed, Global string constants
- strings, String-Range
- attributed, NSString and Friends
- C strings, C Data Types
- characters, Character and String Index
- coercion, String
- comparison, String
- concatenating, String
- constants, global, Global string constants
- drawing, NSString and Friends
- equality, String
- format, Caveman Debugging
- indexing, Character and String Index, Range
- initializers, String
- interpolation, String, Adopting a Library Protocol
- length, String, String
- literals, String
- modifying, Range
- notification names, Posting a Notification
- range, String, NSRange
- searching, String
- substrings, String-Range, NSString and Friends
- Unicode, String
- strong references, Memory Management of Reference Types
- structs, Structs-Struct as Namespace
- (see also object types)
- bridged to Objective-C classes, NSValue, Bridged Types and Boxed Types
- C structs, NSValue, C Structs
- initializers, Struct Initializers
- methods, Struct Methods
- omitting type name, Raw Values
- properties, Struct Properties
- static properties, Struct as Namespace
- subscripts, Struct Methods
- vs. classes, Classes
- styled text, NSString and Friends
- subclass, Subclass and Superclass
- subclassing
- Subscriber, The Combine Framework
- subscripting, Character and String Index, Range, Array subscripting, Dictionary subscripting
- subscripts, Subscripts
- substitution principle, Polymorphism
- Substring, Character and String Index
- subview, Document Outline
- suffix, Character and String Index, Basic array properties and methods
- super, The keyword super
- superclass, Subclass and Superclass
- superview, Document Outline
- supported interface orientations, Property List Settings
- swapAt, Basic array properties and methods
- swapping variables, Tuple
- Swift, The Architecture of Swift-Exclusive Access to Value Types
- SwiftUI, The Scope of This Book, Property Wrappers, Reverse Generics, Nib Files, The Promise of SwiftUI-Global Objects
- switch, Switch statement, NS_ENUM
- swizzling, Key–Value Observing Example
- Symbol navigator, The Navigator Pane, Navigation
- symbolic breakpoint, Breakpoints
- symbols, searching for, Symbol Declarations
- syntax checking, Fix-it and Live Syntax Checking
- synthesizing protocols, Synthesized Protocol Implementations
- system version, Backward Compatibility
T
- target, The Target
- Targeted Device Family build setting, Permissible Runtime Environment
- target–action, Actions
- team, Obtaining a Developer Program Membership
- templates
- ternary operator, Conditional evaluation
- test bundle, Testing
- Test Failure breakpoint, Unit Tests
- Test navigator, The Navigator Pane, Unit Tests
- testable, Unit Tests
- TestFlight, Distribution for Testing
- tests, Testing-Test Plans
- thinning an app, Distribution for Testing
- throw, Throwing and catching errors
- throws, Throwing and catching errors
- Time Profiler instrument, Instruments
- timers, Timer
- times, NSDate and Friends
- top level, The Structure of a Swift File, Modules
- top-level objects (nib), Document Outline
- trailing closures, Anonymous Function Abbreviated Syntax
- true, Bool
- try, Throwing and catching errors
- tuples, Tuple
- tweaking the APIs, Why Optionals?, Failable initializers
- type
- checking, suppressing, Suppressing type checking
- constraints, Type Constraints
- eraser, Swift Dictionary and Objective-C NSDictionary
- function, Function as Value
- instance vs. variable, Polymorphism
- name, omitting, Enums
- of instance, testing, Type Testing and Casting Down Safely
- opaque, Reverse Generics
- Optional, Optional
- placeholders, Generics
- references, From Instance to Type
- variable, Variables, Variable Declaration
- Type, Type as Value
- type alias, Function as Value, Tuple
- type(of:), From Instance to Type
- type-over completions, Editing
- typecasting (see casting)
- types, Object Type Declarations and Features
U
- UDID, Signing an App
- UI tests, Testing
- UIApplication, How an App Gets Going
- UIApplicationMain, How an App Gets Going
- UIBackgroundTaskIdentifier, Variable Declaration
- UIControl, Action Connections, Actions
- UILabel, Subclassing
- UIPickerView, Data Sources
- UIResponder, The Responder Chain
- UISceneSession, How an App Gets Going, Backward Compatibility
- UIView, Subclassing, Subclassing
- UIViewController, Subclassing, Subclassing
- (see also view controller)
- UIWindowScene, How an App Gets Going
- umbrella types, Umbrella Types
- underflow, Arithmetic operations
- underscore
- Unicode, String
- UnicodeScalar, String
- unique an array, Set
- Unit, NSMeasurement and Friends
- unit tests, Testing
- universal app, Permissible Runtime Environment
- universal provisioning profile, Automatic Signing
- unknown default, NS_ENUM
- Unmanaged, Memory Management of CFTypeRefs
- unowned references, Unowned references, Retain Cycles and Weak References
- unregistering
- unsafe references, Retain Cycles and Weak References
- UnsafeMutablePointer, Calling Objective-C with Modifiable Parameters, C Pointers
- UnsafeMutableRawPointer, C Pointers
- UnsafePointer, C Pointers
- UnsafeRawPointer, C Pointers
- unwrapping an Optional, Unwrapping an Optional
- updateValue, Dictionary subscripting
- uppercased, String
- URL, NSString and Friends
- User Defined Runtime Attributes, Additional Configuration of Nib-Based Instances
- user events, Reasons for Events
- UserDefaults, Struct as Namespace, Global Visibility
- UTF-8, UTF-16, UTF-32, String
- Utilities pane, The Utilities Pane
V
- value types, Value Types and Reference Types
- values (dictionary), Dictionary
- var, Variables, Variable Declaration, Class instances are mutable
- variables, Variables, Variables and Simple Types-Built-In Simple Types
- coercion, Numeric coercion
- computed, Computed Variables
- declaration, Variables, Variable Declaration
- façade, Computed Properties
- functions as value of, Function as Value
- global, The Structure of a Swift File, Variable Scope and Lifetime
- initialization, Variables
- lazy, Lazy Initialization
- lifetime, Variables, Variable Scope and Lifetime
- local, Variable Scope and Lifetime
- read-only, Computed Variables
- scope, Variable Scope and Lifetime
- setter observers, Setter Observers
- stored, Computed Variables
- swapping, Tuple
- type, Variables, Variable Declaration
- variables list, The Navigator Pane, Paused at a breakpoint
- variadic parameters, Variadic Parameters
- version control, Version Control
- version string, Property List Settings
- video previews, Screenshots and Video Previews
- view controller, Document Outline, Loading a Main View Nib
- view debugging, Paused at a breakpoint
- views, Nib Files
- visibility, Scope and Lifetime
- Void, Void Return Type and Parameters, Tuple
- void, C Pointers
W
- warnings, compiler, Ground of Being
- weak references, Weak references, Retain Cycles and Weak References
- weak–strong dance, Stored anonymous functions
- where, Where Clauses, Extending Generics, Switch statement, For loops
- while, While loops
- while case, While loops
- while let, While loops
- willSet, Setter Observers
- wrapped value, Property Wrappers
- wrappers, property, Property Wrappers, Property Wrappers