Tag: 迅速

将parameter passing给Swift3中的select器

我以编程方式将UITapGestureRecognizer添加到我的某个视图中: let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj))) self.imageView.addGestureRecognizer(gesture) func handleTap(modelObj: Model) { // Doing stuff with model object here } 我遇到的第一个问题是“#selector”的参数不是指“@Objc”方法,属性或初始值设定项。 很酷,所以我添加了@objc到handleTap签名: @objc func handleTap(modelObj: Model) { // Doing stuff with model object here } 现在我得到错误“方法不能被标记@objc,因为参数的types不能在Objective-C中表示。 这只是一个build筑物地图的图像,其中一些图钉指示了兴趣点的位置。 当用户点击其中一个引脚时,我想知道他们感兴趣的是哪个点,然后我有一个模型对象来描述这些兴趣点。 我使用这个模型对象在地图上给出了图像的坐标,所以我认为将对象发送到手势处理程序本来就很容易。

静态与类作为类variables/方法(Swift)

我知道static关键字是用来在struct , enum等中声明typesvariables/方法。 但今天我发现它也可以用在class实体中。 class foo { static func hi() { println("hi") } class func hello() { println("hello") } } 什么是static关键字在class实体中的使用? 谢谢! 编辑:我指的是Swift 1.2,如果这有什么区别

协议操作符为什么必须作为全局函数来实现?

我已经看到了这个Swift Equatable Protocol问题的答案,它提到了如何在全局范围内声明==方法。 如果我不采用Equatable ,我仍然可以声明==来testing我的两个types之间的平等。 // extension Foo: Equatable {} func ==(lhs: Foo, rhs: Foo) -> Bool { return lhs.bar == rhs.bar } struct Foo { let bar:Int } 其实施需要在全球范围内进行宣布的事实,使得它似乎与议定书是偶然的 ,并且与议定书有所不同 ,即使通过了“ Equatable 。 Equatable协议如何超过语法糖,仅仅让我们和编译器安全地知道我们的types实现了协议所需要的方法? 为什么运营商的实施必须在全球范围内宣布,即使对于协议? 这是否由于运营商派遣的不同方式?

如何禁用Alamofire中的caching

当我用Alamofire发送一个GET请求两次时,我得到了同样的回应,但我期待着一个不同的回应。 我想知道是否是因为caching,如果是这样,我想知道如何禁用它。

如何在swift中强调UILabel?

如何在Swift中强调UILabel ? 我search了Objective-C的,但不能让他们在Swift中工作。

如何在swift中使用addTarget方法3

这里是我的button对象 let loginRegisterButton:UIButton = { let button = UIButton(type: .system) button.backgroundColor = UIColor(r: 50 , g: 80, b: 130) button.setTitle("Register", for: .normal) button.translatesAutoresizingMaskIntoConstraints = false button.setTitleColor(.white, for: .normal) button.addTarget(self, action:#selector(handleRegister), for: .touchUpInside) return button }() 这是我的function func handleRegister(){ FIRAuth.auth()?.createUser(withEmail: email, password: password,completion: { (user, error) in if error != nil { print("Error Occured")} else {print("Successfully […]

Swift嵌套的类属性

swift没有嵌套类吗? 例如,我似乎无法从嵌套类访问主类的属性testing。 class master{ var test = 2; class nested{ init(){ let example = test; //this doesn't work } } }

如何在Swift中获得前置摄像头?

我正试图让现场观看的前置摄像头。 我能够使用后面的相机: var backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) 但我似乎无法find如何获得前置摄像头。 如何更改上面的代码以使用前置摄像头?

FacebookSDK(4.1.x)自定义loginUIbutton – Swift(1.2)

按照这个教程 ,我设法使一个Facebookloginbutton工作。 但是,它是从SDK自动分配button图像,它不是可定制的(因为它不是在Storyboard上创build的),所以我无法使用自己的button图像或文本。 我相信这部分代码(在ViewDidLoad中)是分配button: let loginView : FBSDKLoginButton = FBSDKLoginButton() self.view.addSubview(loginView) loginView.center = self.view.center loginView.readPermissions = ["public_profile", "email"] loginView.delegate = self 我需要做的是在Storyboard上创build一个@IBOutletbutton,并从那里进行定制。 我怎样才能做到这一点?

与Swift一起使用AudioBufferList

我在Swift中有一个桥接函数,其中一个在C中的参数是AudioBufferList * 。 在Swift中,这会生成一个UnsafePointer<AudioBufferList> 。 我设法通过调用audioData[0]来尊重指针(还有更好的方法吗?)。 但是,我正在苦苦挣扎下面两层: .mBuffers数组和它们的void * / UnsafePointer<()> .mData成员。 在C中,它将是简单的 Float32 *audioData = (Float 32*)abl->mBuffers[0]->mData; output = audioData[sampleNum]… 在Swift中,第一个奇怪的是,它不会让我访问mBuffers的元素,但是当我作为一个属性来访问时,它是非常高兴的。 换句话说,这个工作,甚至有正确的数据(对于我认为的第一个mBuffers成员)… println(abl[0].mBuffers.mNumberChannels) // But .mBuffers should be an []! 其次,让我打印.mData下标,但是值总是() println(abl[0].mBuffers.mData[10]) // Prints '()' 我尝试了各种铸造操作和访问与多个指标,但无济于事…任何想法? 这里是AudioBufferList和AudioBuffer的C和Swift定义,以方便… // C struct AudioBufferList { UInt32 mNumberBuffers; AudioBuffer mBuffers[1]; // this is a variable length array of […]