Tag: swift2

Swift中的纯类协议

我希望我的一些类(不是全部)使用文档中的“仅限于类的协议” 。 我在做什么 protocol RefreshData: class, ClassA, ClassB { func updateController() } 我得到的错误 non class type 'RefreshData cannot inherit from classA non class type 'RefreshData cannot inherit from classB 我不确定我是否完全按照文档。 有没有人有任何想法呢?

用UITableView加载更多的选项

试图使用分页加载我的数据在页面中,我已经看到了很多例子,但都在Objective-C和一些问题是没有答案。 我的代码: class testTableViewController: UITableViewController { //MARK: – Properties – var allObjectArray: NSMutableArray = [] var elements: NSMutableArray = [] var currentPage = 0 //number of current page var nextpage = 0 var selectedRow = Int() //MARK: – View Life Cycle – override func viewDidLoad() { super.viewDidLoad() for var i = 1; i < 500; […]

小数到小数在Swift中的转换

我正在build立一个计算器,并希望它自动将每个小数转换成一个分数。 所以如果用户计算一个expression式的答案是“0.333333 …”,它会返回“1/3”。 对于“0.25”,它将返回“1/4”。 使用GCD,如这里发现的( 小数到小数转换 ),我已经想出了如何将任何有理数的终止小数转换成小数,但是这不适用于任何重复的小数(如.333333)。 这个堆栈溢出的其他函数在Objective-C中。 但我需要在我的快速应用程序中的function! 所以这个( https://stackoverflow.com/a/13430237/5700898 )的翻译版本会很好! 关于如何将一个合理的或重复的/非理性的小数转换成分数 (即将“0.1764705882 …”转换为3/17),任何想法或解决scheme将是伟大的!

只有在所有文本字段都被填写的情况下才能在Swift中启用button

我无法弄清楚如何改变我的代码,使我的三个文本字段填写时导航栏中的完成button被启用。 我目前有三个UITextFields和一个UIButtonItem。 habitNameField和goalField都是手动文本字段,而frequencyField是拾取器视图。 @IBOutlet weak var habitNameField: UITextField! @IBOutlet weak var goalField: UITextField! @IBOutlet weak var frequencyField: UITextField! @IBOutlet weak var doneBarButton: UIBarButtonItem! 当第一个字段中input某些内容时,我也有以下function。 func textField(habitNameField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let oldHabitNameText: NSString = habitNameField.text! let newHabitNameText: NSString = oldHabitNameText.stringByReplacingCharactersInRange(range, withString: string) doneBarButton.enabled = (newHabitNameText.length != 0) return true […]

自Xcode 8以来布局接口生成器约束问题

由于我已经将Swift项目更新为Swift 2.3和Xcode 8(发行版),所以我无法再完成我的界面了。 我设置完全所有的限制。 一切工作正常。 我第二天重新打开Xcode,所有的视图都是这样的。 还有我收到很多警告 如果我点击Update Frame ,警告消失,视图再次看起来正常。 但是,只要我重新启动Xcode(或者有时甚至只是build立项目),它仍然被撤消… 重要提示 :所有的视图在任何设备中看起来都是完美的,但是很难保持概览。 我花了整整一个晚上,取代了我目前的项目的所有元素。 一切都很好,没有任何警告。 明天。 警告,我改变了字面上没有什么…我如何摆脱这一点? 帮助非常感谢。 我可以“更新框架”,一切再次看起来不错。 在重新打开Xcode之后,或者最近一次构build之后,它看起来就是这样。 最新的例子:极端简单的屏幕。 UIViewController中。 UINavigationBar的。 UITableView的。 没有赛段。 一个原型单元。 昨天晚上完成了所有的约束条件。 重新打开Xcode。 find了这个。 编辑 : build议的解决方法是将所需的控制器的模拟大小切换到检查器中,然后更新帧,这只是一个临时解决scheme。 只要我重新打开Xcode,所有的警告又回来了。 我可以将这个值修改为固定的,然后所有的元素“弹回”到他们想要的位置,并且警告消失 – >重新打开Xcode,所有的警告都回来了,控制器的元素又一次翻滚了。 此外build议将故事板文件types更改为7.x没有任何影响。 我按了7.x,它问我,如果我想改变。 按下确定。 加载。 我打开了main.storyboard,它问我想用什么设备打开故事板。 然后重新selectXcode 8.0。

Swift 2 – Xcode 7.0无法使用不可信的SSL证书访问HTTPS站点

专家,我是IOS 9 / XCODE 7 / Swift 2开发工具包的初学者 我试图创build一个简单的路由到HTTPS协议Web应用程序的iOS应用程序。 以下是我在ViewController.swift代码 import UIKit class ViewController: UIViewController { @IBOutlet var myWebView: UIWebView! /** * Function to Display the Web Application initial URL */ func loadAppURL(){ let siteAddress = "https://domain:8443/path/to/page" let url = NSURL (string: siteAddress) let urlRequest = NSURLRequest(URL: url!) myWebView.loadRequest(urlRequest) } override func viewDidLoad() { super.viewDidLoad() […]

如何从UIAlertView迁移(在iOS8中不推荐)

我目前在我的一个应用程序中有以下代码行。 这是一个简单的UIAlertView 。 不过,从iOS 8开始,现在已经弃用了: let alertView = UIAlertView(title: "Oops!", message: "This feature isn't available right now", delegate: self, cancelButtonTitle: "OK") 我如何更新这个工作与iOS 8 +? 我相信我必须改变一些UIAlertCotroller ,虽然我不太清楚什么。

UIWebView LoadData不接受textEncodingName和baseURL的Nil值

直到Swift 1.2版本,UIWebView LoadData接受nil值,但Swift 2.0抛出错误“Swift不符合协议NilLateralConvertible”。 Swift 1.2:工作正常 self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil) Swift 2.0:引发错误 self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)

AVAudioRecorder swift 2

我有我的AVAudioRecorder工作,但自升级到AVAudioRecorder 2,我似乎无法弄清楚如何正确configuration它。 我不断收到一个错误说AVAudioRecorder初始值设定项不能被调用,但我提供的参数看起来是正确的。 var recordSettings = [AVSampleRateKey : NSNumber(float: Float(44100.0)), AVFormatIDKey : NSNumber(int: Int32(kAudioFormatMPEG4AAC)), AVNumberOfChannelsKey : NSNumber(int: 1), AVEncoderAudioQualityKey : NSNumber(int: Int32(AVAudioQuality.Medium.rawValue))] var recordingURL: NSURL? = nil var audioRecorder:AVAudioRecorder! func directoryURL() -> NSURL? { let fileManager = NSFileManager.defaultManager() let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) let documentDirectory = urls[0] as NSURL let soundURL = documentDirectory.URLByAppendingPathComponent("sound.m4a") return […]

在Swift中使用UITapGestureRecognizer的参数

我想使用UITapGestureRecognizer的行动与参数调用一个函数,我不能找出任何select。 这里是假设用indexPath参数调用indexPath函数的indexPath 。 var gestureDoubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "doubleTap(indexPath)") 这里这是假设被调用的函数。 func doubleTap(indexPath: NSIndexPath) { NSLog("double tap") NSLog("%@", indexPath.row) } 我如何使用indexPath参数调用indexPath函数? 谢谢你的所有build议。 编辑 – 这是我的整个代码,它基本上设置对象的名称,所以我的第二个viewController可以得到它并使用它 import UIKit class viewController1: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate { @IBOutlet weak var collectionView: UICollectionView! var imageArray:[String] = [] var name : AnyObject? { get { return NSUserDefaults.standardUserDefaults().objectForKey("name") } set { […]