草庐IT

swift - 在 Swift 中将实例变量别名为其他实例变量的更简单方法?

鉴于Swift中的以下struct,是否有更简洁的方法来别名实例变量x、y和z到三元组的属性,_v?注意:我意识到,当然,我可以将这些实例变量声明为Double而不需要元组。但是,我这样做的原因是我可以用单行语句设置三个变量,就像您将在init方法和下面的示例代码中看到的那样。具有所需输出“1.0”“4.0”的示例代码:varmyVector=Vector3([1.0,2.0,3.0])letx=myVector.xprint(x)myVector.v=(4.0,5.0,6.0)print(x)类(class):structVector3{typealiasV3=(x:Double,y

swift - 为什么 AVPlayerView 在 Swift 中没有名为 "player"的成员

我试图在Swift中使用AVPlayerView,但编译器提示它无法在AVPlayerView中找到名为player的成员。但是AVPlayerView显然有一个名为player的属性。其他属性或方法都可以。好像只有player不被识别。 最佳答案 您明确必须导入AVFoundation框架(它定义AVPlayer类):importAVKitimportAVFoundationletplayerView=AVPlayerView()letplayer=playerView.player这可能被认为是AVKit框架(SwiftView

ios - swift uiview 没有名为 center 的成员

这是我的RectangleView:importUIKitclassRectangleView:UIView{init(frame:CGRect){//Initializationcodesuper.init(frame:frame)}/*overridefuncdrawRect(rect:CGRect){//Drawingcode}*/}我在我的CustomViewController上添加了这个RectangleView:importUIKitclassCustomViewController:UIViewController{varballX:Int=0varballY:Int=

swift - 嵌套类中名为 `Type` 的枚举失败

出于某种原因,具有名为Type的嵌套枚举的嵌套类不能很好地与swift编译器配合使用。classA{classB{enumType{caseOnecaseTwo}letmyC:Typeinit(myC:Type){self.myC=myC}}funcgetB(myC:B.Type)->B{returnB(myC:myC)//ERROR1}}leta=A()letb=a.getB(.Two)//ERROR2上面的代码产生了两个错误:'A.B.Type'isnotconvertibleto'A.B.Type'和'A.B.Type.Type'doesnothaveamembernamed'T

swift - 扩展名为 : What is happening here? 的自动类型转换

我正在阅读TheSwiftProgrammingLanguage一书的第一章,我正在阅读描述extension关键字的部分。我参加了“实验”:“WriteanextensionfortheDoubletypethataddsanabsoluteValueproperty.”我是这样工作的:extensionDouble{varabsoluteValue:Double{if(self但它似乎也适用于整数:(-4).absoluteValue//4.0这里发生了什么?编译器是否将类型从Int更改为Double因为它看到Double上有一个absoluteValue扩展但是不是Int?这似乎

ios - String 没有一个名为 characters 的成员?

我正在尝试SwiftPlayground。当我尝试下面的代码时,它不起作用并告诉我'String'没有名为'Characters'的成员。我希望打印thenumberofcharactersincafeis4。你能给我一些提示吗?谢谢。varword="cafe"print("thenumberofcharactersin\(word)is\(word.characters.count)") 最佳答案 characters是Xcode7beta附带的"new"Swift2中String的一个属性。你可能正在使用Xcode6.3.2和

xcode - ViewController.Type 没有名为的成员

只是一个简单的任务,但我遇到了麻烦。尝试另辟蹊径,但失败了。如何使用先前声明的变量初始化NSTimer?var和let都没有帮助。 最佳答案 属性的初始值(在您的例子中:timer)不能依赖于类的另一个属性(在您的例子中:interval)。因此,您必须将分配timer=NSTimer(interval,...)移动到方法类,例如进入viewDidLoad。因此,timer必须定义为可选或隐式解包可选。另请注意,Selector(...)采用文字string作为参数,而不是方法本身。所以这应该可行:classViewControll

ios - 'PFObject' 没有名为 'subscript' 的成员

我明白,这个特定的错误已经在这里和那里发布,代码有些基础,但我自己仍然无法弄清楚这个问题,我需要建议。问题是当我添加codeprovidedonparse.comforsavingobjects的前两行时vargameScore=PFObject(className:"GameScore")gameScore["score"]=1337第二行出现以下错误:'PFObject'doesnothaveamembernamed'subscript'我正在使用Xcode6.3beta2。所有必需的库都与二进制链接,通过BridgeHeader导入。我应该使用什么语法?

ios - className.type 没有名为 'appDel' 的成员

我有一个对我的应用委托(delegate)的引用letappDel:AppDelegate=(UIApplication.sharedApplication().delegate)asAppDelegate这工作得很好,但是下面这行代码给出了一个错误:letcontext:NSManagedObjectContext=appDel.managedObjectContext它给了我以下错误:'vctGebruikers.Type'doesnothaveamembernamed'appDel'我像这样在类(class)下面声明了它们:classvctGebruikers:UIViewCon

java - 我可以自动重构整个java项目并将大写的方法参数重命名为小写吗?

我在一个java项目中工作,其中很大一部分代码是用我不喜欢的格式样式编写的(并且也是非标准的),即所有方法参数都是大写的(而且都是本地的变量)。在IntellJ上,我能够使用“分析->检查代码”并实际找到所有出现的大写方法参数(超过1000个)。为了修复一次出现的问题,我可以执行“重构>重命名参数”并且它工作正常(假设没有重叠)。有没有办法自动进行这种重构(例如:将以大写开头的方法参数重命名为以小写开头的相同名称)? 最佳答案 使用源解析器我认为你需要做的是使用像javaparser这样的源代码解析器。做这个。对于每个java源文件