学习新技术书籍就是我们的良师益友,为了方便大家学习SwiftUI我计划将主流的iOS和SwiftUI进行一下汇总方便大家研究与学习。
技术交流
QQ:3365059189
SwiftUI技术交流QQ群:518696470
- 请关注我的专栏icloudend, 《SwiftUI教程与源码》
目录
- SwiftUI类
- iOS类
- 算法
- 设计模式
分类
一、SwiftUI类
二、 iOS类
iOS Programming: The Big Nerd Ranch Guide
2020
Big Nerd Ranch Guides
ISBN 13:9780135265550
简介
《iOS Programming: The Big Nerd Ranch Guide》已针对Xcode 11,Swift 5和iOS 13更新,iOS编程:The Big Nerd Ranch Guide指导您完成开发iOS应用程序的基本概念,工具和技术。完成本书后,您将拥有解决自己的iOS项目所需的知识和信心。该畅销书基于Big Nerd Ranch广受欢迎的iOS培训以及经过良好测试的材料和方法,以串联方式讲授iOS概念和编码。结果是相关且有用的指令。在整本书中,作者解释了重要的内容,并分享了对iOS平台更大范围的见解。您将真正了解iOS开发的工作原理,可用的许多功能,以及何时何地应用所学知识。
目录
Table of Contents
- A Simple iOS Application Creating an Xcode Project Model-View-Controller Designing Quiz
- Interface Builder Building the Interface
- Creating view objects
- Configuring view objects
- Running on the simulator
- A brief introduction to Auto Layout Making connections
- Creating the Model Layer Implementing action methods Loading the first question
- Building the Finished Application
- Application Icons
- Launch Screen
- For the More Curious: Running an Application on a Device
- The Swift Language Types in Swift
- Using Standard Types
- Inferring types Specifying types
- Literals and subscripting Initializers
- Properties
- Instance methods
- Optionals
- Subscripting dictionaries
- Loops and String Interpolation Enumerations and the Switch Statement
- Enumerations and raw values Closures
- Exploring Apple’s Swift Documentation 3. Views and the View Hierarchy
- View Basics
- The View Hierarchy Creating a New Project Views and Frames
- Customizing the labels The Auto Layout System
- The alignment rectangle and layout attributes Constraints
- Adding constraints in Interface Builder Intrinsic content size
- Misplaced views
- Adding more constraints Challenges
- Bronze Challenge: More Auto Layout Practice Silver Challenge: Adding a - - Gradient Layer Gold Challenge: Spacing Out the Labels
- For the More Curious: Retina Display
- View Controllers
- The View of a View Controller Setting the Initial View Controller Tab Bar Controllers
- Tab bar items
- Loaded and Appearing Views
- Refactoring in Xcode
- Accessing subviews
- Interacting with View Controllers and Their Views Bronze Challenge: - - --- - Another Tab
- Silver Challenge: Different Background Colors
Programmatic Views
Creating a View Programmatically Programmatic Constraints
Anchors
Activating constraints Layout guides Margins
Explicit constraints
Programmatic Controls
Bronze Challenge: Points of Interest
Silver Challenge: Rebuild the Conversion Interface For the More Curious: NSAutoresizingMaskLayoutConstraintText Input and Delegation Text Editing
Keyboard attributes
Responding to text field changes Dismissing the keyboard
Implementing the Temperature Conversion Number formatters
Delegation
Conforming to a protocol Using a delegate
More on protocols
Bronze Challenge: Disallow Alphabetic Characters
Silver Challenge: Displaying the User’s Region 7. Internationalization and Localization
Internationalization Formatters
Base internationalization
Preparing for localization Localization
NSLocalizedString and strings tables Bronze Challenge: Another Localization For the More Curious: Bundle’s Role in Internationalization
For the More Curious: Importing and Exporting as
XLIFFDebugging
A Buggy Project Debugging Basics
Interpreting console messages Fixing the first bug
Caveman debugging
The Xcode Debugger: LLDB Setting breakpoints Stepping through code The LLDB consoleUITableView and UITableViewController Beginning the LootLogger Application UITableViewController
Subclassing UITableViewController Creating the Item Class
Custom initializers UITableView’s Data Source
Giving the controller access to the store
Implementing data source methods UITableViewCells
Creating and retrieving UITableViewCells
Reusing UITableViewCells Editing Table Views
Editing mode Adding rows Deleting rows Moving rows
Design Patterns
Bronze Challenge: Sections Silver Challenge: Constant Rows Gold Challenge: Favorite ItemsSubclassing UITableViewCell Creating ItemCell
Exposing the Properties of ItemCell Using ItemCell
Dynamic Cell Heights Dynamic Type
Responding to user changes Bronze Challenge: Cell Colors Silver Challenge: Long Item NamesStack Views
Using UIStackView
Implicit constraints Stack view distribution Nested stack views Stack view spacing
Segues
Hooking Up the Content
Passing Data Around
Bronze Challenge: More Stack ViewsNavigation Controllers UINavigationController
Navigating with UINavigationController Appearing and Disappearing Views Dismissing the Keyboard
Event handling basics
Dismissing by pressing the Return key Dismissing by tapping elsewhere
UINavigationBar
Adding buttons to the navigation bar
Bronze Challenge: Displaying a Number Pad Silver Challenge: A Different Back Button Title Gold Challenge: Pushing More View ControllersSaving, Loading, and Scene States Codable
Property Lists
Error Handling Application Sandbox
Constructing a file URL Scene States and Transitions Persisting the Items
Notification center Saving the Items Loading the Items
Bronze Challenge: Throwing Errors
Gold Challenge: Support Multiple Windows
For the More Curious: Manually Conforming to Codable For the More Curious: Scene State Transitions
For the More Curious: The Application BundlePresenting View Controllers Adding a Camera Button Alert Controllers Presentation Styles
Camera
Displaying Images and UIImageView
Taking Pictures and UIImagePickerController
Creating a UIImagePickerController Setting the image picker’s delegate Presenting the image picker modally Permissions
Saving the image
Creating ImageStore
Giving View Controllers Access to the Image Store Creating and Using Keys
Persisting Images to Disk
Loading Images from the ImageStore
Bronze Challenge: Editing an Image
Silver Challenge: Removing an Image
For the More Curious: Navigating Implementation Files
// MARK:
Adaptive Interfaces
Size Classes
Modifying traits for a specific size class
Adapting to Dark Mode
Adding colors to the Asset Catalog Using custom dynamic colors
Bronze Challenge: Stacked Text Field and LabelsExtensions and Container View Controllers
Starting Mandala
Creating the model types
Adding resources to the Asset Catalog
Extensions
Creating a custom container view controller
Creating the MoodSelectionViewController Creating the MoodListViewController Handling the embed segueCustom Controls
Creating a Custom Control
Relaying actions
Using the Custom Control
Updating the Interface
Adding the Highlight View
Bronze Challenge: More Access ControlControlling Animations Property Animators
Basic animations Timing functions Spring animations
Animating Colors Animating a ButtonWeb Services
Starting the Photorama Application Building the URL
Formatting URLs and requests
URLComponents Sending the Request
URLSession Modeling the Photo JSON Data
JSONDecoder and JSONEncoder
Parsing JSON data
Enumerations and Associated Values
Passing the Photos Around
Downloading and Displaying the Image Data
The Main Thread
Bronze Challenge: Printing the Response Information Silver Challenge: Fetch Recent Photos from Flickr For the More Curious: HTTPCollection Views
Displaying the Grid
Collection View Data Source Customizing the Layout
Creating a Custom UICollectionViewCell Downloading the Image Data
Image caching
Navigating to a Photo
Bronze Challenge: Horizontal Scrolling Silver Challenge: Updated Item SizesCore Data Object Graphs Entities
Modeling entities
NSManagedObject and subclasses NSPersistentContainer
Updating Items
Inserting into the context
Saving changes Updating the Data Source
Fetch requests and predicates
Silver Challenge: Photo View Count
For the More Curious: The Core Data Stack
NSManagedObjectModel NSPersistentStoreCoordinator NSManagedObjectContextCore Data Relationships Relationships
Adding Tags to the Interface Background Tasks
Silver Challenge: FavoritesAccessibility VoiceOver
Testing VoiceOver
Accessibility in Photorama
Bronze Challenge: VoiceOver PronunciationAfterword
What to Do Next Shameless Plugs
Index