- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想定义一个在 Viper 架构中使用的协议(protocol),以使用具有弱属性的协议(protocol)在 Viper 组件之间建立连接,但我收到以下错误消息:
'weak' may only be applied to class and class-bound protocol types, not 'Self.ViperViewClass'
protocol ViperPresenter: class {
associatedtype ViperViewClass
weak var view: ViperViewClass! { get set }
}
câu trả lời hay nhất
协议(protocol)目前不能要求将属性实现为弱
存储属性。
虽然目前允许在属性要求上使用 weak
Và unowned
关键字,但它们没有任何作用。以下是完全合法的:
class C {}
protocol P {
weak var c: C? { get set }
}
struct S : P {
var c: C? // strong reference to a C instance, not weak.
}
Đây là filed as a bug , 和 SE-0186将对协议(protocol)中的属性要求使用 weak
Và unowned
在 Swift 4.1 中(在 Swift 3 和 4 模式下)是一个警告,在 Swift 5 中是一个错误。
但即使协议(protocol)可能要求将属性实现为弱
hoặcunowned
存储属性,编译器也需要知道ViperViewClass
是一个类类型(即说
associatedtype ViperViewClass : AnyObject
)。
关于swift - Swift 协议(protocol)中的弱属性只能是类或类绑定(bind)协议(protocol)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699813/
Bạn có thể so sánh các thuộc tính mà tôi muốn tắt hộp văn bản "txtName". Có hai cách sử dụng javascript, txtName.disabled = true bằng ASP.NET, phương pháp nào tốt hơn và tại sao? Câu trả lời tốt nhất cho tôi
Thuộc tính Count trả về số mục mà một bộ sưu tập hoặc đối tượng Từ điển chứa. Chỉ đọc. Đối tượng object.Count có thể là bất kỳ bộ sưu tập hoặc cặp nào được liệt kê trong danh sách "áp dụng cho"
Thuộc tính CompareMode đặt và trả về chế độ so sánh để so sánh các khóa chuỗi trong đối tượng Từ điển. tham số object.CompareMode[=so sánh]
Thuộc tính cột là thuộc tính chỉ đọc trả về số cột của vị trí ký tự hiện tại trong tệp TextStream. Đối tượng object.Column thường là tên của đối tượng TextStream.
Thuộc tính AvailableSpace trả về lượng không gian có sẵn cho người dùng trên một ổ đĩa hoặc mạng chia sẻ được chỉ định. đối tượng object.AvailableSpace phải là Drive
Thuộc tính Thuộc tính đặt hoặc trả về các thuộc tính của tệp hoặc thư mục. Đọc-ghi hoặc chỉ đọc (tùy thuộc vào thuộc tính). đối tượng tham số object.Attribut [= newattributes]
Thuộc tính AtEndOfStream Trả về True nếu con trỏ tệp ở cuối tệp TextStream; nếu không thì trả về Sai nếu nó không ở chế độ chỉ đọc. đối tượng.A
Thuộc tính AtEndOfLine Trong tệp TextStream, nếu con trỏ tệp trỏ đến dấu cuối dòng, nó sẽ trả về True; nếu không, nó sẽ trả về Sai nếu nó không ở chế độ chỉ đọc. đối tượng.AtEn
Thuộc tính RootFolder trả về một đối tượng Thư mục đại diện cho thư mục gốc của ổ đĩa được chỉ định. Chỉ đọc. Đối tượng object.RootFolder phải là Dr
Thuộc tính Path trả về đường dẫn tới tệp, thư mục hoặc ổ đĩa đã chỉ định. Đối tượng object.Path phải là tên của đối tượng Tệp, Thư mục hoặc Drive. Giải thích Đối với một ổ đĩa, đường dẫn không chứa thư mục gốc.
Thuộc tính ParentFolder trả về thư mục mẹ của tệp hoặc thư mục đã chỉ định. Chỉ đọc. Đối tượng object.ParentFolder phải là tên của đối tượng Tệp hoặc Thư mục. Giải thích đoạn mã sau
Thuộc tính Name đặt hoặc trả về tên của tệp hoặc thư mục được chỉ định. Có thể đọc và ghi được. đối tượng tham số object.Name [= newname] là bắt buộc. Nên là Tệp hoặc &
Thuộc tính dòng là thuộc tính chỉ đọc, trả về số dòng hiện tại trong tệp TextStream. Đối tượng object.Line thường là tên của đối tượng TextStream. Tài liệu chỉ
Thuộc tính Key đặt khóa trong đối tượng Từ điển. object.Key(key) = đối tượng tham số newkey là bắt buộc. Thông thường từ điển
Thuộc tính Item đặt hoặc trả về mục tương ứng với khóa được chỉ định trong đối tượng Từ điển hoặc trả về mục trong bộ sưu tập dựa trên khóa đã chỉ định.
Thuộc tính IsRootFolder trả về True nếu thư mục được chỉ định là thư mục gốc; nếu không, nó sẽ trả về Sai. Đối tượng object.IsRootFolder phải là &n
Thuộc tính IsReady trả về True nếu ổ đĩa được chỉ định đã sẵn sàng; nếu không, nó sẽ trả về Sai. object.Đối tượng IsReady phải là Drive&nbs
Thuộc tính FreeSpace trả về dung lượng có sẵn cho người dùng trên một ổ đĩa hoặc mạng chia sẻ được chỉ định. Chỉ đọc. object. Đối tượng FreeSpace phải là tên của đối tượng Drive.
Thuộc tính FileSystem trả về loại hệ thống tệp được sử dụng bởi ổ đĩa được chỉ định. Đối tượng object.FileSystem phải là tên của đối tượng Drive. Mô tả có thể
Thuộc tính Tệp trả về một bộ sưu tập Tệp bao gồm tất cả các đối tượng Tệp trong thư mục đã chỉ định, bao gồm các tệp ẩn và tệp hệ thống. object.Files đối tượng&n
Tôi là một lập trình viên xuất sắc, rất giỏi!