'đột biến' trong Swift

Như chúng ta đã biết, Lớp là kiểu tham chiếu trong khi Cấu trúc và kiểu liệt kê là kiểu giá trị nhanh chóng. Điều đó có nghĩa là gì là một đối tượng lớp chia sẻ một thể hiện duy nhất của đối tượng và chuyển cùng một tham chiếu nếu được truyền cho bất kỳ hàm hoặc đối tượng mới nào trong khi kiểu giá trị là kiểu tạo ra một bản sao của nó và chỉ chuyển giá trị.

This post was originally posted at https://agrawalsuneet.github.io/blogs/mutating-in-swift/ and reposted on Medium on 29th Mar 2019.

class Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
        //cannot assign to property: 'self' is immutable
}
}

cannot assign to property: 'self' is immutable

Trình biên dịch cũng giúp chúng tôi giải pháp khả thi

note: mark method 'mutating' to make 'self' mutable

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
mutating func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
    
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

  • enum
  • cấu trúc
  • Int
  • Gấp đôi
  • Chuỗi
  • Mảng
  • Từ điển
  • Bộ
  • Tuple
  • Chức năng
  • Đóng cửa
  • Lớp học

Suggested posts

“Hòn đảo nhỏ đó thay đổi mọi thứ”

Cách chúng tôi thiết kế Hoạt động trực tiếp trên Lyft để nâng cao trải nghiệm của người lái

“Hòn đảo nhỏ đó thay đổi mọi thứ”

Yếu tố thay đổi cuộc chơi cho hoạt động đi chung xe Trong tất cả những việc chúng tôi làm tại Lyft, dàn dựng các cuộc đón giữa người lái và người lái xe là một trong những việc phức tạp và quan trọng nhất. Việc hoàn thành vũ đạo này phụ thuộc vào việc Lyft làm tốt nhiều thứ nhưng chỉ đơn giản là giữ cho các tay đua bắt kịp tốc độ là điều cần thiết.

Vòng đời ứng dụng

Vòng đời ứng dụng

: Chu kỳ từ khởi chạy ứng dụng đến tắt máy: Khả năng sử dụng bằng cách quản lý bộ nhớ hoặc dữ liệu ⬆️ Bảo mật có thể được xử lý UIApplication, AppDelegate Tình huống:Xác định các chức năng mà đối tượng AppDelegate nhận thông điệp được gửi từ đối tượng UIApplication và thực thi từng Not Running: Trạng thái ứng dụng không chạyKhông hoạt động: Trạng thái nơi ứng dụng đang chạy nhưng không nhận được sự kiện nàoHoạt động: Trạng thái nơi ứng dụng đang chạy và một sự kiện xảy raNền: Trạng thái nơi ứng dụng ở chế độ nền nhưng mã đang được thực thiBị treo: Trạng thái nơi ứng dụng ở chế độ nền chạy nền và không chạy mã để làm chức năng ủy quyền trong tệp AppDelegate.swift SceneDelegate Để đáp ứng tốt chức năng nhiều cảnh được hỗ trợ từ iOS 13 trở đi AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Cuộc trò chuyện nguy hiểm

Cuộc trò chuyện nguy hiểm

Nếu chúng ta muốn tiếp tục phát triển trên hành tinh này, chúng ta sẽ phải có những cuộc đối thoại nguy hiểm. Những thứ thách thức những gì chúng ta đã làm, những gì chúng ta đang làm và những gì chúng ta hiện đang chuẩn bị tiếp tục làm (hoặc đang có kế hoạch làm).

Suy nghĩ lại về truyền thông: Năm sự thật của McChesney và tương lai của truyền thông

Trong thế giới siêu kết nối ngày nay, các hệ thống truyền thông đóng một vai trò then chốt trong việc định hình dư luận và do đó, trong việc ra quyết định dân chủ. Trong phân tích sâu sắc của mình về nền kinh tế chính trị của truyền thông, học giả Robert McChesney thách thức sự hiểu biết thông thường và trình bày cái mà ông gọi là “năm sự thật” về truyền thông.

Không còn mật khẩu — mật khẩu sẽ thay thế mật khẩu của bạn như thế nào

Không còn mật khẩu — mật khẩu sẽ thay thế mật khẩu của bạn như thế nào

Để tránh sự mơ hồ, các thuật ngữ sau đây sẽ được sử dụng; Trình xác thực; Điện thoại di động được sử dụng để đăng nhập Website; Trang web hoặc ứng dụng mà người dùng đang sử dụng để thực hiện yêu cầu đăng nhập Dịch vụ; Nhà cung cấp cung cấp dịch vụ nhất định, ví dụ:

Lời nói dối cao bồi

Làm thế nào các siêu tập đoàn đã bán cho người Mỹ một sự giả dối mạnh mẽ

Lời nói dối cao bồi

Đó là một buổi sáng vàng rực rỡ trên những ngọn đồi thoai thoải ở phía tây, khi những tia nắng đầu tiên chiếu sáng ngọn cỏ phủ sương trên đồng bằng. Một đàn gia súc Angus điềm đạm, đen tuyền và to lớn, in bóng dưới ánh bình minh khi chúng đi xuống con đường mòn bị đánh đập đến một địa phương mà tất cả chúng đều biết rõ; quán ăn sáng.