2014-10-25 37 views
8
Bazı görgü eklemek CGPoint alt sınıf özel bir oluşturmak istiyorum ama bu hatayı alıyorum

: Bu olmamasının sebebi hiçbir fikrim yokKalıtım 'CGPoint'

Inheritance from non-protocol, non-class type 'CGPoint'

mümkün. Benim sınıf bu kadar basittir: Ben başarılı olamadı CoreGraphics veya QuartzCore gibi bazı kütüphaneler ekleyerek denedim

import UIKit 

class IYAttachPoint: CGPoint { 

    var holder: String = "No holder" 
    var unavailable: Bool = false 

} 

. Bu soruna yönelik bazı sorularınız veya çözümleriniz varsa, lütfen beni doğru yöne doğrultun.

cevap

11

, struct'dan devralmak istediğinizden bu mümkün değildir. CGPoint, struct'dir ve protocols'a uygunluk dışında devralmayı desteklemez.

Bunu yapmak isterseniz, inheritance yerine composition kullanın.

class IYAttachPoint { 

    var point:CGPoint? 
    var holder: String = "No holder" 
    var unavailable: Bool = false 
} 
+0

Çok teşekkür ederim, bu bana yardımcı olacaktır :) –

0

Aldığınız hata iletisi, tam olarak sorunun ne olduğunu anlatmaktır. Temel sınıf olarak kullanılabilecek tek şey, sınıflar. Ayrıca sınıf/struct/enum uygunluğunuzu bir protokole sahip olabilirsiniz, ancak yalnızca sınıflar miras için kullanılabilir. CGPoint bir yapı olduğundan, alt sınıflandırma amaçları için kullanılamaz.