草庐IT

ios - Swift 中的扩展属性冲突子类声明

我在XCode7.3中有一个Swift2项目,我在其中使用了两个不同的第三方框架。'FrameworkA'声明一个公共(public)UIView扩展,声明cornerRadius属性,如下所示:extensionUIView{varcornerRadius:CGFloat{get{returnself.layer.cornerRadius}set(cornerRadius){self.layer.masksToBounds=trueself.layer.cornerRadius=cornerRadius}}}'FrameworkB'声明了一个具有cornerRadius属性的UIVi

Swift 编译错误,子类化 NSValue,使用 super.init(nonretainedObject :)

这段代码classID:NSValue{init(baseObject:T){super.init(nonretainedObject:baseObject)}}给出这个编译器错误:error:mustcalladesignatedinitializerofthesuperclass'NSValue'super.init(nonretainedObject:baseObject)^我该如何摆脱它?我想到的事情我认为错误可能是因为NSValue初始化程序有一个AnyObject?类型(注意:postfix?)。我在某些地方尝试了各种类型的转换和[?!]后缀,但没有修复任何问题。另外,大概

core-data - ManagedObjectModel 子类在 Swift 中不起作用

总结一下我所做的:创建了一个名为2048的项目。创建了NSManagedObject的子类classBestScore:NSManagedObject{@NSManagedvarbestScoreModel:BestScoreModelfuncupdate(score:Int){self.bestScoreModel!.score=score}}创建了NSManagedObjectModel的子类classBestScoreModel:NSManagedObjectModel{@NSManagedvarscore:Int}在核心数据选项卡下创建了一个数据模型。将文件命名为2048.xc

cocoa-touch - 在扩展中添加便利初始化器并在子类上调用它们

我正尝试在Swift中向UIView添加扩展方法,如下所示:extensionUIView{convenienceinit(superview:UIView){self.init(frame:CGRect())superview.addSubview(self)}}稍后,我可以使用这个新的初始化器,但只能在UIView上,我不知道如何在我自己的子类上使用它。varpoView:UIView=UIView(superview:someSuperview)//JustdandyvarmyViewSubclass:MyViewSubclass(superview:someSuperview)

class - 为符合 'generate()' 的类的子类更改 'SequenceType' 方法

假设我有一个通用类Parent,符合SequenceType协议(protocol),通过实现generate()方法:classParent{//...}extensionParent:SequenceType{funcgenerate()->GeneratorOf{//...returnGeneratorOf{//returnthenextelement,orniltostop}}现在generate()方法显然不会简单地返回P类型的元素,但是[P].现在让我们实现一个子类Child:classChild:Parent{//...}Child也应该符合SequenceType,但不

ios - 子类化 NSURLSession

TL;DR是否有在整个应用程序中使用NSURLSession的通用模式,只需按照子类化的方式创建一个新的客户端类AFHTTPSessionManager?我喜欢用AFNetworking出于多种原因,如果我没有发现任何禁忌症,我会很高兴地使用它,但有时我需要完成一个相对简单的任务,而AFNetworking似乎有点矫枉过正,或者我只是需要避免第三方依赖.考虑到这一点,我意识到Apple的人为我们提供了一个很酷的东西,叫做NSURLSession,在很多情况下它听起来像是一个完美的解决方案,但是当我开始阅读有关在项目中使用它的内容时,好吧,我想回到AFNetworking让我解释一下为什

ios - 多个 UIButtons 只能选择一个 - swift 中的子类

我编写了一个用于选择和取消选择按钮的子类。我已将这个子类放在ViewController中的大约5个按钮上。我想修改代码,这样如果用户选择一个然后选择另一个,第一个被取消选择。我正在考虑使用按钮上的.tag来计算选择了哪些按钮,并在按下下一个按钮时删除选择。代码如下:谢谢classChangeColour:UIButton{varbuttontagpressed:Int=0varisChecked:Bool=false{didSet{ifisChecked==true{self.backgroundColor=UIColor(red:0.27,green:0.29,blue:0.31,

swift - 访问子类时不能在类型错误的实例上使用静态成员

我100%确定这个问题已得到解答,但我发现的答案似乎无法融入我的解决方案。我有以下代码作为Playground。importFoundationpublicclassAuthenticationInfo{publicclassRootObject{varresultParameters:ResultParameters=ResultParameters()}publicclassResultParameters{varadminInfo:AdminInfo=AdminInfo()varServerBuildNumber:Int=-1varServerIs64Bit:Bool=false

swift - 如何将锁定在 Pod 中的扩展子类化?

我有Cocoapod库,它通过这样的extension提供其功能:extensionExposedLibraryClass{classfuncsetup(){...}}对于我做的每个应用程序,我都有一些进入setup()的样板代码,但每个应用程序还需要在此之后添加一些定制的位。问题是这是一个扩展,我不能将它子类化,只是在setup()函数末尾嵌入定制代码是一个非常糟糕的解决方案。请问您建议我做什么?谢谢。 最佳答案 不,扩展不能覆盖另一个扩展中定义的方法。它们用于向现有对象添加新功能。做你想做的事情的唯一方法是创建SomeClass

swift - 访问泛型类的子类型?

在Swift中有没有一种方法可以访问指定给泛型类的类?例如:classMyClass{}varmyVar:MyClass当我有一个MyClass对象时,我想访问SomeOtherClass。 最佳答案 您可以创建一种访问该通用参数的方法:classMyClass{staticvarRelatedType:Any.Type{returnT.self}}varmyVar=MyClass()print(type(of:myVar).RelatedType)//prints"String" 关于