2015-01-13 18 views
7

Tôi nhận được lỗi trình biên dịch "Các phương thức lớp chỉ có thể được khai báo trên một loại". Tôi không chắc tại sao tôi lại thành thật. Tất cả các câu trả lời tràn ngăn xếp áp dụng cho một senario khác. Mọi đề xuất đều được đánh giá cao.Swift: các phương thức lớp học chỉ có thể được khai báo trên một loại

 class func fontWithSize(var size : CGFloat) -> UIFont 
     { 
     let font : UIFont = UIFont (name: "Roboto-Regular", size: size)! 
     return font; 
     } 
+0

Thử xóa từ khóa 'var' trong thông số phương pháp của bạn. – AdamPro13

+0

Đây có phải là 'lớp func fontWithSize' chứa trong một 'lớp Foo {...}'? –

Trả lời

5

Một điều có vẻ lạ là từ khóa var ở phía trước tên thông số. Điều khác; bạn có khai báo phương thức này bên trong định nghĩa class không? Có thể bạn đang gặp lỗi này vì bạn đang khai báo phương thức ở cấp cao nhất hoặc phạm vi toàn cầu. Nếu đó là ý định của bạn thì bạn không cần từ khóa class.

+0

Điều này là chính xác, cảm ơn bạn. Tôi sẽ trả lời câu hỏi của bạn một khi giới hạn thời gian đã hết. – user3606054

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