2015-03-13 25 views
12

Lần đầu tiên nhìn thấy lỗi này, tôi không thể đặt '!' sau 'như' nhanh chóng? Hoặc chỉ lỗi sau khi cập nhật Xcode của tôi lên 6.2?Xcode 6.2 - Loại dự kiến ​​sau 'as'

let url = notification.userInfo![CallbackNotification.optionsURLKey] as! NSURL 

Nó cho thấy lỗi: Dự kiến ​​loại sau 'là'

Tái bút: Bạn có thể thử tải OAuthSwift từ github để kiểm tra lỗi này. https://github.com/dongri/OAuthSwift

enter image description here

+0

Vui lòng sao chép và dán mã có liên quan thay vì hình ảnh – Ian

+0

Đã cập nhật câu hỏi của tôi, xin lỗi..i là newbie –

+0

Giải pháp cho tôi đã hạ cấp một số phụ thuộc để xóa '!' –

Trả lời

22

Ký hiệu as! không được giới thiệu cho đến Xcode 6.3. Bạn có Xcode 6.2, vì vậy bạn phải nói đơn giản as. Xcode 6.2 không hiểu số as! của bạn; đó là nguyên nhân gây ra lỗi biên dịch bạn đang nhận được.

(Lưu ý rằng nếu bạn lấy những ! đi, sau đó khi bạn cuối cùng chuyển sang Xcode 6.3 bạn đã sẽ phải mang lại cho họ tất cả trở lại một lần nữa! Nó thực sự là tốt nhất không để thay đổi phiên bản Xcode lui như thế này. Nếu mã của bạn được viết ban đầu bằng Xcode 6.3, bạn nên giữ nguyên bằng Xcode 6.3. Vấn đề duy nhất là trong trường hợp đó bạn không thể gửi ứng dụng tới App Store cho đến khi nó kết thúc; bây giờ nó vẫn đang trong giai đoạn thử nghiệm.)

5

Bạn không cần phải thêm! để giải phóng biến tùy chọn của bạn trong XCode 6.2

+0

Tôi chỉ cần tải xuống từ github để sẵn sàng nhập vào dự án của tôi. Tôi có nên xóa chúng bằng tay không? Nó hiển thị gần 50 + + lỗi bên trong nó. –

+0

Nếu bạn cần làm việc trong Xcode 6.2, lựa chọn duy nhất của bạn là xóa chúng. Vì 'as!' Không phải là kết hợp hợp lệ trong Swift 1.1 (phiên bản Swift thực tế được xuất xưởng với Xcode 6.2), bạn có thể thay thế nó bằng 'as' –

+1

Xin lỗi, đó là Xcode 6.3 sử dụng Swift 1.2. Trong Swift 1.2, bạn có 2 khả năng để sử dụng như có hoặc không có! Swift 1.2 riêng biệt việc sử dụng! https://developer.apple.com/swift/blog/ –

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