Tôi đang cố dịch một số mã mục tiêu C thành Swift. Tôi đã thêm Cocoapod "Masonry" cho Autolayout vào dự án của tôi và thêm một Bridging-Header để có thể sử dụng Objective-C Methods trong Swift.Dịch ObjC-Blocks sang Swift đóng cửa
này Phương pháp ObjC:
[_tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
nên một cái gì đó giống như Đóng cửa sau:
tableView.mas_makeConstraints({ (make : MASConstraintMaker!) -> Void? in
make.edges.equalTo(self.view)
})
Nhưng tôi nhận được một "không thể tìm thấy thành viên 'mas_makeConstraints'" mà không phải là lỗi, vì phương pháp được lập chỉ mục và tự động điền cho tôi những điều sau:
tableView.mas_makeConstraints(block: ((MASConstraintMaker!) -> Void)?)
?!
Tôi có làm gì sai ở đây không?
Cảm ơn lời giải thích tốt.Điều này thực sự hoạt động, nhưng bây giờ tôi đang gặp lỗi: Không thể chuyển đổi loại biểu thức '$ T5' thành loại '() -> ((AnyObject!) -> MASConstraint!)!' Bất kỳ ý tưởng nào? – user3791103
thử make.edges.equalTo() (self.view) – skorulis
Mỏ vẫn không hoạt động nhưng ... @skorulis đã trả lời. Vì vậy, nhầm lẫn tại sao mặc dù ...! – dineth