InitializationInitialization is the process of preparing an instance o dịch - InitializationInitialization is the process of preparing an instance o Việt làm thế nào để nói

InitializationInitialization is the

Initialization
Initialization is the process of preparing an instance of a class, structure, or enumeration for use. This process involves setting an initial value for each stored property on that instance and performing any other setup or initialization that is required before the new instance is ready for use.

You implement this initialization process by defining initializers, which are like special methods that can be called to create a new instance of a particular type. Unlike Objective-C initializers, Swift initializers do not return a value. Their primary role is to ensure that new instances of a type are correctly initialized before they are used for the first time.

Instances of class types can also implement a deinitializer, which performs any custom cleanup just before an instance of that class is deallocated. For more information about deinitializers, see Deinitialization.

Setting Initial Values for Stored Properties

Classes and structures must set all of their stored properties to an appropriate initial value by the time an instance of that class or structure is created. Stored properties cannot be left in an indeterminate state.

You can set an initial value for a stored property within an initializer, or by assigning a default property value as part of the property’s definition. These actions are described in the following sections.

NOTE

When you assign a default value to a stored property, or set its initial value within an initializer, the value of that property is set directly, without calling any property observers.

Initializers

Initializers are called to create a new instance of a particular type. In its simplest form, an initializer is like an instance method with no parameters, written using the init keyword:

init() {
// perform some initialization here
}
The example below defines a new structure called Fahrenheit to store temperatures expressed in the Fahrenheit scale. The Fahrenheit structure has one stored property, temperature, which is of type Double:

struct Fahrenheit {
var temperature: Double
init() {
temperature = 32.0
}
}
var f = Fahrenheit()
print("The default temperature is (f.temperature)° Fahrenheit")
// Prints "The default temperature is 32.0° Fahrenheit"
The structure defines a single initializer, init, with no parameters, which initializes the stored temperature with a value of 32.0 (the freezing point of water in degrees Fahrenheit).

Default Property Values

You can set the initial value of a stored property from within an initializer, as shown above. Alternatively, specify a default property value as part of the property’s declaration. You specify a default property value by assigning an initial value to the property when it is defined.

NOTE

If a property always takes the same initial value, provide a default value rather than setting a value within an initializer. The end result is the same, but the default value ties the property’s initialization more closely to its declaration. It makes for shorter, clearer initializers and enables you to infer the type of the property from its default value. The default value also makes it easier for you to take advantage of default initializers and initializer inheritance, as described later in this chapter.

You can write the Fahrenheit structure from above in a simpler form by providing a default value for its temperature property at the point that the property is declared:

struct Fahrenheit {
var temperature = 32.0
}
Customizing Initialization

You can customize the initialization process with input parameters and optional property types, or by assigning constant properties during initialization, as described in the following sections.

Initialization Parameters

You can provide initialization parameters as part of an initializer’s definition, to define the types and names of values that customize the initialization process. Initialization parameters have the same capabilities and syntax as function and method parameters.

The following example defines a structure called Celsius, which stores temperatures expressed in degrees Celsius. The Celsius structure implements two custom initializers called init(fromFahrenheit:) and init(fromKelvin:), which initialize a new instance of the structure with a value from a different temperature scale:

0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Khởi tạoKhởi tạo là quá trình chuẩn bị một thể hiện của lớp, cấu trúc hoặc điều tra để sử dụng. Quá trình này liên quan đến việc thiết lập một giá trị ban đầu cho mỗi tài sản được lưu trữ trên đó thể hiện và thực hiện bất kỳ cài đặt nào khác hay một khởi tạo là cần thiết trước khi trường hợp mới đã sẵn sàng để sử dụng.Bạn thực hiện quá trình khởi tạo này bằng cách xác định initializers, mà là giống như phương pháp đặc biệt mà có thể được gọi là để tạo ra một trường hợp mới của một loại hình cụ thể. Không giống như mục tiêu-C initializers, Swift initializers không trở về một giá trị. Vai trò chính của họ là để đảm bảo rằng các trường hợp mới của một loại một cách chính xác được khởi tạo trước khi chúng được sử dụng lần đầu tiên.Trường hợp của các loại lớp học cũng có thể thực hiện một deinitializer, thực hiện bất kỳ dọn dẹp tuỳ chỉnh chỉ trước khi một thể hiện của lớp học đó deallocated. Để biết thêm chi tiết về deinitializers, xem Deinitialization.Thiết lập giá trị ban đầu cho các thuộc tính lưu trữCác lớp học và các cấu trúc phải đặt tất cả các tài sản của họ được lưu trữ một giá trị ban đầu thích hợp khi một thể hiện của lớp hay cấu trúc được tạo ra. Thuộc tính lưu trữ có thể không được trái trong trạng thái không xác định.Bạn có thể thiết lập một giá trị ban đầu cho một tài sản được lưu trữ trong một initializer, hoặc bằng cách gán một giá trị bất động sản mặc định như là một phần của định nghĩa của tài sản. Những hành động này được mô tả trong các phần sau.LƯU ÝKhi bạn gán một giá trị mặc định cho một tài sản được lưu trữ, hoặc thiết lập giá trị ban đầu của nó trong vòng một initializer, giá trị tài sản đó được đặt trực tiếp, mà không cần gọi điện thoại bất kỳ quan sát viên bất động sản.InitializersInitializers được gọi là để tạo ra một trường hợp mới của một loại hình cụ thể. Trong hình thức đơn giản của nó, một initializer là giống như một phương pháp thể hiện với các thông số không, viết bằng cách sử dụng các từ khóa init:Init {} thực hiện một số khởi tạo ở đây}Ví dụ dưới đây xác định một cơ cấu mới được gọi là f để lưu trữ nhiệt độ thể hiện trong Fahrenheit quy mô. Fahrenheit cấu trúc có một tài sản được lưu trữ, nhiệt độ, đó là loại giường đôi:struct Fahrenheit {} nhiệt độ var: đôi Init {} nhiệt độ = 32.0 }}var f = Fahrenheit()in ấn ("nhiệt độ mặc định là (f.temperature) ° Fahrenheit")In "nhiệt độ mặc định là 32.0° f"Cơ cấu định nghĩa một đơn initializer, init, với các thông số không, mà khởi nhiệt độ lưu trữ có giá trị của 32.0 (điểm đóng băng của nước trong độ f).Mặc định giá trị tài sảnBạn có thể thiết lập giá trị ban đầu của một tài sản được lưu trữ từ trong vòng một initializer, như được hiển thị ở trên. Hoặc chỉ định một giá trị bất động sản mặc định như là một phần của tuyên bố của bất động sản. Bạn chỉ định một giá trị bất động sản mặc định bằng cách gán một giá trị ban đầu cho tài sản khi nó được định nghĩa.LƯU ÝNếu một tài sản luôn luôn có cùng một giá trị ban đầu, cung cấp một giá trị mặc định chứ không phải là thiết lập một giá trị trong vòng một initializer. Kết quả cuối cùng là như nhau, nhưng giá trị mặc định trong mối quan hệ của bất động sản khởi tạo chặt chẽ hơn để tuyên bố của mình. Nó làm cho initializers ngắn hơn, rõ ràng hơn và cho phép bạn để suy ra loại tài sản từ giá trị mặc định của nó. Giá trị mặc định cũng làm cho nó dễ dàng hơn cho bạn để tận dụng lợi thế của mặc định initializers và kế thừa initializer, như được diễn tả sau này trong chương này.Bạn có thể viết Fahrenheit cấu trúc từ trên trong một hình thức đơn giản hơn bằng cách cung cấp một giá trị mặc định cho thuộc tính nhiệt độ tại thời điểm tài sản được kê khai:struct Fahrenheit {} nhiệt độ var = 32.0}Tùy biến các khởi tạoBạn có thể tùy chỉnh trong quá trình khởi tạo với tham số đầu vào và các loại tùy chọn bất động sản, hoặc bằng cách gán các thuộc tính liên tục trong quá trình khởi tạo, như được mô tả trong các phần sau.Khởi tạo tham sốBạn có thể cung cấp khởi tạo tham số như là một phần của định nghĩa một initializer, để xác định các loại và tên của các giá trị tùy chỉnh trong quá trình khởi tạo. Khởi tạo tham số có khả năng tương tự và cú pháp như là tham số chức năng và phương pháp.Ví dụ sau định nghĩa một cấu trúc được gọi là c, mà các cửa hàng bày tỏ sự nhiệt độ ở độ Celsius. C cấu trúc thực hiện hai initializers tùy chỉnh được gọi là init(fromFahrenheit:) và init(fromKelvin:), khởi tạo một trường hợp mới của các cấu trúc có giá trị từ một thang nhiệt độ khác nhau:
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Khởi tạo
khởi tạo là quá trình chuẩn bị một thể hiện của một lớp, cơ cấu, hoặc liệt kê để sử dụng. Quá trình này liên quan đến việc thiết lập một giá trị ban đầu cho mỗi tài sản được lưu trữ trên dụ đó và thực hiện bất kỳ thiết lập nào khác hoặc khởi tạo được yêu cầu trước khi các trường hợp mới đã sẵn sàng để sử dụng.

Bạn thực hiện quá trình khởi tạo này bằng initializers định, mà cũng giống như các phương pháp đặc biệt mà có thể gọi là để tạo ra một thể hiện mới của một loại hình cụ thể. Không giống như initializers Objective-C, initializers Swift không trả về một giá trị. Vai trò chính của họ là để đảm bảo rằng các trường hợp mới của một loại được khởi tạo một cách chính xác trước khi chúng được sử dụng lần đầu tiên.

Các ví dụ về các loại lớp cũng có thể thực hiện một deinitializer, thực hiện bất kỳ dọn dẹp tùy chỉnh ngay trước khi một thể hiện của lớp đó được deallocated. Để biết thêm thông tin về deinitializers, xem Deinitialization.

Gán giá trị ban đầu cho tính lưu trữ

Các lớp học và cấu trúc phải thiết lập tất cả các thuộc tính lưu trữ của họ đến một giá trị ban đầu phù hợp khi một thể hiện của lớp hoặc cấu trúc được tạo ra. Thuộc tính được lưu trữ không thể rơi vào trạng thái vô định.

Bạn có thể thiết lập một giá trị ban đầu cho một tài sản được lưu trữ trong một initializer, hoặc bằng cách gán một giá trị bất động sản mặc định như là một phần của định nghĩa của bất động sản. Những hành động này được mô tả trong các phần sau.

Chú ý

Khi bạn gán một giá trị mặc định cho một tài sản được lưu trữ, hoặc thiết lập giá trị ban đầu của nó trong một initializer, giá trị của tài sản đó được thiết lập trực tiếp, mà không gọi bất kỳ quan sát tài sản.

Initializers

Initializers được kêu gọi để tạo ra một thể hiện mới của một loại hình cụ thể. Ở dạng đơn giản nhất, một initializer giống như một phương pháp dụ không có tham số, được viết bằng cách sử dụng từ khóa init:

init () {
// thực hiện một số khởi tạo ở đây
}
Ví dụ dưới đây định nghĩa một cấu trúc mới được gọi là F để lưu trữ nhiệt độ thể hiện trong thang đo Fahrenheit . Cấu trúc Fahrenheit có một tài sản được lưu trữ, nhiệt độ, mà là của Double:

struct Fahrenheit {
var nhiệt độ: Double
init () {
nhiệt độ = 32,0
}
}
var f = F ()
print ( "Nhiệt độ mặc định là (f.temperature ) ° Fahrenheit ")
// in" nhiệt độ mặc định là 32,0 ° Fahrenheit "
cấu trúc định nghĩa một initializer đơn, init, không có tham số, khởi tạo nhiệt độ lưu trữ với giá trị là 32,0 (điểm đóng băng của nước trong độ F) .

Mặc định tài sản Values

Bạn có thể thiết lập các giá trị ban đầu của một tài sản được lưu trữ từ bên trong một initializer, như trình bày ở trên. Ngoài ra, chỉ định một giá trị bất động sản mặc định như là một phần của việc kê khai của tài sản. Bạn chỉ định một giá trị bất động sản mặc định bằng cách gán một giá trị ban đầu đối với tài sản khi nó được định nghĩa.

Chú ý

Nếu một tài sản luôn luôn có giá trị ban đầu như nhau, cung cấp một giá trị mặc định chứ không phải là thiết lập một giá trị trong một initializer. Kết quả cuối cùng là như nhau, nhưng giá trị mặc định quan hệ khởi tạo của tài sản chặt chẽ hơn để khai báo. Nó làm cho ngắn hơn, initializers rõ ràng hơn và cho phép bạn để suy ra các loại tài sản từ giá trị mặc định của nó. Giá trị mặc định cũng làm cho nó dễ dàng hơn cho bạn để tận dụng lợi thế của initializers mặc định và khởi tạo thừa kế, như mô tả sau này trong chương này.

Bạn có thể viết cấu trúc Fahrenheit từ trên cao trong một hình thức đơn giản hơn bằng cách cung cấp một giá trị mặc định cho thuộc nhiệt độ của nó tại điểm rằng tài sản được tuyên bố:

struct Fahrenheit {
var nhiệt độ = 32,0
}
tùy khởi

. Bạn có thể tùy chỉnh các quá trình khởi động cùng với các thông số đầu vào và các loại tài sản tùy chọn, hoặc bằng cách gán thuộc tính liên tục trong quá trình khởi tạo, như được mô tả trong các phần sau

khởi thông số

Bạn có thể cung cấp tham số khởi tạo như là một phần của định nghĩa của một initializer, để xác định các loại và tên của các giá trị tùy chỉnh quá trình khởi tạo. Tham số khởi tạo có khả năng tương tự và cú pháp như chức năng và phương pháp tham số.

Ví dụ sau định nghĩa một cấu trúc được gọi là C, trong đó lưu trữ nhiệt độ thể hiện bằng độ Celsius. Các cấu trúc C thực hiện hai initializers tùy chỉnh được gọi là init (fromFahrenheit :) và init (fromKelvin :), mà khởi tạo một thể hiện mới của cấu trúc với một giá trị từ một thang đo nhiệt độ khác nhau:

đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: