Tag: swift3

Realm数据库Swift 3.1 – Singleton的devise模式

我正在使用RealmSwift ,它是Swift中CoreData / SQLite的现代数据库替代品。 我想知道如何实现一个可以pipe理/处理RealmSwift Framework的所有查询的Class的devise 这个问题有点类似于实现SQLite模型pipe理器,但是RealmSwift。 具体来说,我不需要上面提到的单例对象/实例。

swift中tableView中按下了哪个单元格button?

我已经阅读了类似这样的问题,但这些代码没有为我工作,所以请帮助:我有一个表格视图与每个单元格中的一些button – 此表视图是用户的因素,我添加button到该tableview – 当用户有付钱的button隐藏在该单元格中的因素,在另一个单元格中的另一个因素,当用户没有支付薪酬的钱不隐藏 – 这就是我想要检测哪些单元格button按下? 我知道,在表视图中,我们可以检测到哪个单元格按下但是这是不同的,因为用户只要按下该单元格中的button不按下所有的单元格 由于我的代码太长,我只是把表视图代码在这里 public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "factorCell", for: indexPath) as! FactorCell cell.factorTitle.text = factorTitle[indexPath.row] cell.factorCode.text = factorCodes[indexPath.row] cell.factorDate.text = factorDate[indexPath.row] cell.factorHour.text = factorHour[indexPath.row] cell.factorPrice.text = factorPrice[indexPath.row] cell.factorCondition.text = factorConditions[indexPath.row] cell.factorBill.tag = indexPath.row cell.factorBill.addTarget(self,action:#selector(factorViewController.Bill), for: UIControlEvents.touchUpInside) cell.factorDetail.tag = […]

如何使用childByAutoId更新Firebase中的值?

当我在Firebase中创build对象时,我使用childByAutoId。 我以后如何更新这些特定的对象? 我无法获取关键Firebase自动更新的价值。 Snapshot.key只是返回“用户”。 这是我的JSON结构: { "users" : { "-KQaU9lVcUYzIo52LgmN" : { "device" : "e456f740-023e-440a" "name: "Test" } }, 我怎样才能得到-KQaU9lVcUYzIo52LgmN键? 我想更新设备的孩子。 这是我迄今为止。 它目前创build一个完全独立的快照与一个孩子。 self.rootRef.child("users").queryOrdered(byChild: "name").queryEqual(toValue: self.currentUser).observeSingleEvent(of: .value, with: { (snapshot) in let key = self.rootRef.child("users").childByAutoId().key let childValues = ["device": device] self.rootRef.child("users").child(key).updateChildValues(childValues) 编辑:设备是在代码中进一步设置的string。 未在此范围内定义(以便于阅读此问题)。

如何用渐变色填充贝塞尔path

我的自定义UIView draw(_ rect: CGRect)函数中有一个UIBezierPath 。 我想用渐变色填充path。 请任何人都可以指导我如何做到这一点。 我需要用渐变颜色填充剪辑,然后用黑色描边path。 SO中有一些post不能解决问题。 例如沿着bezierpath的Swift:Gradient(使用CALayers)这篇文章指导了如何在UIView绘制一个图层,但不是在UIBezierPath 。 注意:我正在Swift-3上工作

与Facebook共享不能在iOS 11上工作了

我使用Facebook SDK对于iOS和它的工作正常在iOS 10,但是当我升级我的手机到iOS 11的Facebook共享不工作了。 请帮忙,提前致谢。

绘制平滑的曲线

我有两个点左右增加一些静态值的Y和X是左右两边的AVG我创build了第三点中心 之后,我用他们之间的贝塞尔path绘制曲线和所有工作正常。 在上面的曲线 现在我想创build两个点(5点曲线)。 一个在中间和左边之间,一个在中间和右边之间。 我试图再次采取平均和使用5点曲线 func drawFivePoint(_ startPoint: CGPoint?, leftCenterPoint: CGPoint?, toControlPoint controlPoint: CGPoint?, toRightControlPoint rightPoint: CGPoint?, toEnd endPoint: CGPoint?) { var arrPoints = [NSValue]() if startPoint != nil { arrPoints.append(NSValue(cgPoint: startPoint!)) } if leftCenterPoint != nil && !(__CGPointEqualToPoint(leftCenterPoint!, .zero)) { arrPoints.append(NSValue(cgPoint: leftCenterPoint!)) } if controlPoint != nil { arrPoints.append(NSValue(cgPoint: controlPoint!)) } if rightPoint […]

我可以在swift中支持多协议协议吗?

在Swift中,使用扩展名可以在“协议”中给出方法体。 在我的代码中,我可以给方法体,见 protocol Test1{ func display() } extension Test1{ func display(){ print("display Test1") } } protocol Test2{ func display() } extension Test2{ func display(){ print("display Test2") } } class ViewController: UIViewController,Test1,Test2 { var test1 : Test1? var test2 : Test2? func display() { print("display") } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup […]

将swift对象转换为JSONstring

我有这样的课程: class MyDate { var year : String = "" var month : String = "" var day : String = "" init(year : String , month : String , day : String) { self.year = year self.month = month self.day = day } } class Lad { var firstName : String = "" var […]

如何添加联系人下面的屏幕截图自定义应用程序帐户

我正在开发一个应用程序,需要自己的联系人在他们的联系人中可见。 像WhatsApp,我需要显示他们在我的应用程序中注册的联系号码。 例如,如果您在联系人中添加Friend的whatsapp no,它将显示Whatsapp中的Found 。 所以我也需要为我的应用程序的相同types的function。 当我安装我的应用程序,我的应用程序应该被添加到上面的列表。 (看看上面的截图)。 我搜查了一下,没有发现这件事。 所以任何帮助将不胜感激。

在Swift 3中使用Moscapsule的Mqtt客户端

上个月,我试图在我的一个应用程序中第一次使用Mqtt。 作为一个初学者,我很难find如何以及在哪里放样本代码,我发现在各种来源。 在我的问题上花了一个星期后,我设法让mqtt在我的项目中工作,所以我在这里分享我所学到的步骤。 这不是一个真正的问题(xD!) 首先,请给予Moscapsule的开发者信用。 你可以在他们的github页面上find更多的信息和细节。 好的,让我们开始展示吧。 如何在iOS上使用Moscapsule实现mqtt客户端(Swift)? 1)使用吊舱安装Moscapsule( 再次检查这里 )。 2)在你的viewcontroller文件(或任何你使用xxxx.swift的名字): a) import Moscapusle b)在viewDidLoad()方法之前,configuration并创buildmqtt客户端(使其成为全局variables)。 //set MQTT client configuration let mqttConfig = MQTTConfig(clientId: "iOS_test_mqtt", host: "yourserver.adress.com", port: 1883, keepAlive: 60) // create new MQTT Connection var mqttClient: MQTTClient? = nil 3)在viewDidLoad()或其他你需要的方法中,请实现onPublish方法和onMessageCallback方法。 mqttConfig.onPublishCallback = { messageId in print("published (msg id=\(messageId)))") } mqttConfig.onMessageCallback = { mqttMessage […]