草庐IT

ios - 子类化与协议(protocol)

让我们从Class方法开始:classLoginCredentials{varid:Stringinit(userID:String){self.id=userID}}然后我们将有以下内容:classFacebookLoginCredentials:LoginCredentials{vartoken:Stringinit(userID:String,userToken:String){self.token=userTokensuper.init(userID:userID)}}和classTwitterLoginCredentials:LoginCredentials{vartoken

ios - Swift UIButton 子类化并根据变量改变颜色

我正在为我的UIButton使用一个子类,它有一个名为isActive的变量。我需要根据该变量更改按钮边框颜色。此变量将以编程方式更改。请帮我解决这个问题。@IBDesignableclassbuttonCTAOutlineDark:UIButton{overrideinit(frame:CGRect){super.init(frame:frame)commonInit()}requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)commonInit()}overridefuncprepareForInterface

objective-c - 子类的 Swift 数组处理

如果我有一个声明为vargameBoard:[Piece]=[]的变量,有什么方法可以添加Piece的子类,称为Queen,到数组?我正在使用Piece来表示所有片段。Queen、Pawn、Bishop等都是Piece的子类,应该包含在棋盘上。我记得在ObjectiveC中经常这样做,其中可以使用子类代替父类(superclass)。但是在我的第一次尝试中,我收到一条错误消息'@lvalue$T11'isnotidenticalto'Piece`这不可能了吗?或者是否需要使用一些我现在无法想到的泛型?编辑这是我的板子的实现,只包括相关部分。structGameBoard{varboar

swift - 子类化 SKSpriteNode

我正在尝试通过使用swift对SKSpriteNode进行子类化来创建自定义SKSpriteNode这里的代码:importFoundationimportSpriteKitclassCustomNode:SKSpriteNode{requiredinit(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplemented")}overrideinit(){super.init()}}当我将它添加到我得到的场景中时fatalerror:对类“Sandbox.CustomNode”使用了未实现的初始化程序“init(t

ios - 如何将框架中的 UIView 子类设置为 Storyboard自定义类?

我在外部框架中定义了一个UIScrollView子类。如果我在代码中创建此类的实例,它会按预期工作。如果我尝试将此类设置为Scoryboard中UIScrollView上的自定义类,它不会列在可用的自定义类中。如果我设置它,当我检查对象的类时它是一个UIScrollView(因此它不允许调用子类的方法)。这发生在一个针对iOS8.1(Xcode7)的Swift2.0项目中该框架也使用Swift2.0并针对iOS8.0该框架手动包含在项目中(复制粘贴+添加到嵌入式二进制文件)希望它足够清楚:D 最佳答案 您必须指定模块和类。在此示例中

ios - 在调用可失败初始化器的子类上创建便利初始化器

尝试了以下推导的许多变体,但没有奏效。importFoundationimportSceneKitclasstest:SCNScene{overrideinit(){super.init()}requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}convenienceinit?(i:UIViewController){self.init(named:"")//CompileError:useofselfdelegatinginitializerbeforeself.initiscalled}}根据Swiftdocu

ios - MKAnnotation 子类问题

我昨晚升级到Swift1.2,我遇到了一个我真的无法弄清楚的错误。下面的代码在以前版本的Xcode和Swift中运行良好。//MARK:AnnotationObjectclassPointAnnotation:NSObject,MKAnnotation{varcoordinate:CLLocationCoordinate2Dvartitle:Stringvarsubtitle:Stringvarpoint:Pointvarimage:UIImagevarmd:Stringinit(point:Point){self.coordinate=point.coordinateself.tit

Swift 3 UIActivity 子类覆盖问题

我刚刚从swift2升级到swift3,但在覆盖属性时遇到了一些问题。在swift2中你可以像这样设置事件类型overridefuncactivityType()->String?{return"com.a.string"}但是在swift3中(在Xcode8beta6中)他们引入了NS_STRING_ENUM并且现在我们像这样覆盖activityTypeoverridevaractivityType()->UIActivityType?{returnUIActivityType.customActivityType}问题是Xcode会提示这个:属性不能是@objc覆盖,因为它的类型不

swift - 以编程方式创建 SKScene 子类,没有大小信息?

我正在尝试学习如何制作GameManager类型类,并为我的每个GameScenes制作单独的类......可能是错误的做法,但为了这个问题,请接受这种方式做事。我的GameManager看起来像这样,引用了每个场景,它是静态的:importSpriteKitclassGM{staticletscene2=SecondScene()staticletscene3=ThirdScene()staticlethome=SKScene(fileNamed:"GameScene")}我如何以编程方式创建没有大小信息的SKScene,因为它们位于SKScene的子类中并且不知道View大小是多少

swift - 如何在子类中使用 Parse.com bool 值

我已经将PFUser子类化并添加了一个属性isManagerclassUser:PFUser,PFSubclassing{@NSManagedvarisManager:Booloverrideclassfuncload(){self.registerSubclass()}}我试过了user.isManager=false但是得到运行时错误[Foo.UsersetIsManager:]:unrecognizedselectorsenttoinstance0x145bf550因为核心数据,我也尝试过使用NSNumberuser.isManager=NSNumber(bool:false)但