Tag: swift

Swift中的iOS SSL连接

我试图build立一个简单的套接字连接(无HTTP)从我的iOS应用程序到我的后端服务器(Node.js)。 服务器证书已经使用我自己定制的CA创build和签名。 我相信为了让iOS信任我的服务器,我将不得不以某种方式将此自定义CA证书添加到用于确定Java / Android中的TrustStore如何工作的信任sorting的可信证书列表中。 我试图用下面的代码进行连接,但是没有错误,但是write()函数似乎不成功。 主视图控制器: override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let api: APIClient = APIClient() api.initialiseSSL("10.13.37.200", port: 8080) api.write("Hello") api.deinitialise() print("Done") } APIClient类 class APIClient: NSObject, NSStreamDelegate { var readStream: Unmanaged<CFReadStreamRef>? var writeStream: Unmanaged<CFWriteStreamRef>? var inputStream: NSInputStream? var outputStream: NSOutputStream? […]

'bytes'不可用:改用withUnsafeBytes

以前在Swift 2.2中工作的代码现在在Swift 3中抛出下面的错误: 这是我的代码: let tempData: NSMutableData = NSMutableData(length: 26)! tempData.replaceBytes(in: NSMakeRange(0, data.count), withBytes:data.bytes) 我应该用什么来replace“data.bytes”来修复错误? 我已经尝试过实施“withUnsafeBytes”,看看苹果公司的文档,但不能把我的头脑搞定!

将多个parameter passing给addTarget

在我的UITableViewCell我有一个button。 我想通过在cellForRowAtIndexPath方法中传递多个参数来为其添加操作。 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("CartCell", forIndexPath: indexPath) as! CartTableViewCell cell.buyButton.addTarget(self, action: self.buyButton(indexPath, 2, 3 ,4 , 5, 6), forControlEvents: .TouchUpInside) }

从UITableViewCell呈现UIAlertController

我想添加警报到自定义UITableViewCell呈现UIAlertView我需要从UIViewController调用presentViewController。 但是,我不知道如何从UITableViewCell类访问当前的UIViewController实例。 下面的代码是我试图用扩展名做这个。 我得到这个错误 expression式parsing为未使用的函数。 extension UIViewController { class func alertReminden(timeInterval: Int) { var refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.Alert) refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in Alarm.createReminder("Catch the Bus", timeInterval: NSDate(timeIntervalSinceNow: Double(timeInterval * 60))) })) refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: { (action: UIAlertAction!) in println("Handle Cancel […]

钥匙扣和NSUserDefault之间的区别?

我是新的objective C ,我已经创build了一个应用程序,我已经使用NSUserDefault和Keychain来存储我的用户名和密码。 但我不能区分两者。 请帮忙区分两者。 谢谢。

如何在Swift中只显示UITextField的底部边界

我只想显示底部边框并隐藏其他边。 输出我看到:正如你所看到的,我也看到顶部,左边和右边的边界,他们是黑色的,我想删除它们。 只需要底部的白色厚2.0的边框。 我正在使用的代码( 来源 ): var border = CALayer() var width = CGFloat(2.0) border.borderColor = UIColor.whiteColor().CGColor border.frame = CGRect(x: 0, y: tv_username.frame.size.height – width, width: tv_username.frame.size.width, height: tv_username.frame.size.height) border.borderWidth = width tv_username.backgroundColor = UIColor.clearColor() tv_username.layer.addSublayer(border) tv_username.layer.masksToBounds = true tv_username.textColor = UIColor.whiteColor()

button水龙头和长按手势

我在手势上有点麻烦 我正在尝试使用同一button上的轻按和长按,所以我使用了 @IBAction func xxx (sender: UITapGestureRecognizer) 和 @IBAction func xxx (sender: UILongPressGestureRecognizer) 但是当我点击时,我的button似乎对这两个function都有反应。 什么可能是错的? func long(longpress: UIGestureRecognizer){ if(longpress.state == UIGestureRecognizerState.Ended){ homeScoreBool = !homeScoreBool }else if(longpress.state == UIGestureRecognizerState.Began){ print("began") } }

检测WKWebView何时完成加载

我有一个运行在iPad上的iOS8上的WKWebView应用程序(标准iPad UserAgent:“Mozilla / 5.0(iPad;像OS X的CPU OS 8_1_1)AppleWebKit / 600.1.4(KHTML,如Gecko)Version / 8.0 Mobile / 12B436 Safari / 600.1 0.4" )。 我已经尝试了所有可以考虑的代表和听众,以便每次检测页面何时完成加载。 这是问题: 打开你的WKWebView并去Google。 以下称为: _decidePolicyForNavigationAction _didStartProvisionalNavigation _ didFinishNavigation 在Google中input“YouTube”:仅调用_decidePolicyForNavigationAction。 没有didStartProvisionalNavigation或didFinishNavigation 在Google中点击YouTube。 以下称为: _didStartProvisionalNavigation _decidePolicyForNavigationAction _ didFinishNavigation 从现在起,在YouTube内没有任何东西被称为 。 点击一个YouTubevideo,并没有didStartProvisionalNavigation或didFinishNavigation。 另外,webview.loading观察者不再被调用。 即使决定PolicyForNavigationAction只是偶尔被调用。 但是,每次点击后, webView.backForwardList.currentItem更新,所以这必须检测何时页面加载完成? 这种行为也发生在很多其他网站上(例如Vimeo)。 我知道这种types的站点并不是每次都更新主框架,但是这种缺乏检测加载何时开始/完成WKWebView当前状态的“限制”的能力? 我想要实现的是:有没有另外一种方法来检测导航在YouTube / Vimeo等Java移动网站中每次都完成导航: 使用NSURLProtocol或类似的? 或者也许一种方法来检测webView.backForwardList.currentItem更新? 谢谢你的帮助。

如何使用swift显示.svg图像

我有一个.svg图像文件,我想在我的项目中显示。 我尝试使用UIImageView,它适用于.png和.jpg图像格式,但不适用于.svg扩展名。 有什么办法可以使用UIWebView或UIImageView显示.svg图像吗?

使用Swift将CoreData实现到现有项目中

我目前正在使用Xcode 6 beta 7,并决定在创build我的项目之后我需要CoreData。 我已经看了一些已经问这个问题的客观C与一些在这个问题上观看video,但我似乎得到同样的错误。 至于我使用CoreData框架本身,我敢肯定,这是正确的,因为我创build了另一个空项目(核心数据框选中),并遵循相同的实施,它的工作像一个魅力,但可能有什么问题,我是也在那里做。 所以下面是我在Swift项目中实现CoreData的步骤。 第一步:我通过“Build Phases”下的“Link Binary with Libraries”标签添加了CoreData框架。 第2步:然后我去我的任何.swift文件需要实现CoreData(appDelegate.swift和另一个文件截至目前为止),并添加行: import CoreData 到顶部。 第3步:我创build了一个名为“cData”的实体的数据列表,然后为它创build了一个名为“data.swift”的类。 这里是data.swift: import UIKit import CoreData @objc( data ) class data: NSManagedObject { @NSManaged var something : String } 第四步:我写了代码来实际上将数据保存在另一个文件中: @IBAction func useCoreData(sender: AnyObject) { let AD : AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate let ct : NSManagedObjectContext = AD.managedObjectContext! […]