2016-08-19 20 views
31

Đang cố gắng để tạo ra một CGMutablePath() như vậy:Tại sao 'nil' không tương thích với 'UnsafePointer <CGAffineTransform>' trong Swift 3?

let path = CGMutablePath() 
CGPathMoveToPoint(path, nil, 30, 0) 

nhưng trình biên dịch vẫn tiếp tục đem lại cho tôi những lỗi sau: 'nil' not compatible with expected argument type 'UnsafePointer<CGAffineTransform>'. Tôi đang làm gì sai? Tôi không thể tìm thấy bất cứ điều gì khác trực tuyến. (Vâng, tôi đã cố gắng chuyển đổi Ints để CGFloats nhưng nó dường như không tạo sự khác biệt.)

+0

Phiên bản Xcode nào? –

+0

@MartinR phiên bản beta mới nhất (Xcode 8 beta 6) – cyril

Trả lời

57

Hãy thử điều này: API

let path = CGMutablePath() 
path.move(to: CGPoint(x: 30, y: 0)) 

CGPath hiện đang nhập khẩu như các phương pháp dụ trong Swift 3. Bạn có thể kiểm tra chúng bằng cách nhấp vào Lệnh trên CGMutablePath. Hoặc xem the latest reference of CGMutablePath.

+0

wow, tôi rất ngạc nhiên khi làm việc này. Bất kỳ lý do gì khiến Xcode không chuyển đổi sang mã Swift 3? – cyril

+3

@cyril, một lý do có thể là Swift đang phát triển quá nhanh. Vì vậy, người di chuyển hơi chậm hơn một chút so với hành vi thực tế của Swift. Và tôi thấy điều này vì Swift không thể di chuyển một trong các dự án của tôi. (Như bạn thấy, bạn sẽ không kiểm tra toàn bộ chi tiết di chuyển, nếu quá trình di chuyển đã thành công hoàn toàn.) – OOPer

8

tôi đã nhận được lỗi này khi cố gắng vẽ bên trong một CGRect

này giải quyết nó cho tôi:

let framePath : CGMutablePath = CGMutablePath() 
framePath.addRect(frameRect) 

Tôi hy vọng điều này giúp bạn tiết kiệm vô số giờ cố gắng để giải quyết việc này. :)

Các vấn đề liên quan