Tag: swift

当应用程序closures时,在“背景”中运行计时器

我需要在应用程序closures时在后台运行计时器,但是我一直在阅读,这是不可能的。 我知道我可以在后台运行〜10分钟,但是我需要比这个更多的时间(至less2个小时)。 我想知道是否有办法通过保存应用程序closures时的计时器值,当前时间,当它重新打开时检索它们,并将它们与当前时间进行比较以获得差异来执行此操作。 然后,我可以重新启动计时器并将这些值一起添加。 任何人有任何build议,我怎么能做到这一点? 谢谢!

在UITextView中获取当前键入的单词

我试图制作一个“标签窗口”,非常类似于在Facebook上使用的那个你input“@”的标签窗口,并且在你的朋友之间提出build议,在哪个标签上标注。 我想在我的应用程序中的这个function,但我不能为我的生活弄清楚如何获取当前键入的单词,以过滤build议。 我使用UITextView ,我一直在看这个posthttps://stackoverflow.com/a/27380612/4148782 但我有问题翻译到Swift 3,即使如此评论表明,这还没有解决。 所以我之后的function是: 用户开始在UITextViewinput,如果单词以“@”开始,我想提取单词。 我想用一定的input来代替这个词。 比方说,用户input@abc ,然后过滤一个提示“ abcdef ”,然后我想用“ abcdef ”代替UITextView中的@abc 。 请注意,我希望当前input的单词不是最近input的单词。

Swift:无法将types'__NSCFArray'的值转换为'NSDictionary'

我有来自网站的JSON数据。 我做了主要的字典,我可以parsing除了一个子字典以外的每一个数据。 我得到错误“Swift:无法将types'__NSCFArray'的值转换为'NSDictionary'” 我的数据的这个例子。 我不能parsing“天气”,但我可以parsing所有其他字典,如"wind" 。 ["name": Mountain View, "id": 5375480, "weather": ( { description = "sky is clear"; icon = 01n; id = 800; main = Clear; } ), "base": cmc stations, "wind": { deg = "129.502"; speed = "1.41"; 代码片段 let windDictionary = mainDictionary["wind"] as! [String : AnyObject let speed = windDictionary["speed"] as! […]

如何删除所有项目,如果我在tableview中删除它们之一?

我有两个collectionView一个是主要项目和其他是为子项目 主要项目,我们可以考虑为iPhone 子项目,我们可以认为是苹果的耳机 所以我们可以说这两个项目“一个小组” 这两个项目都添加在DidSelectMethod和显示在tableView中 我有一个删除这个项目的选项 我的要求是,如果我从这个组中删除任何一个项目,我应该清除所有的tableview数据 这里是我用来删除产品的代码 //在cellForRowAtIndexPath中定义button动作 cell.btnDelete.addTarget(self, action:#selector(ViewController.btnDeleteTapped(_:)), forControlEvents: .TouchUpInside) cell.btnDelete.tag = indexPath.row //button操作 func btnDeleteTapped(sender: UIButton){ self.arrProductCart.removeObjectAtIndex(sender.tag) self.tblCart.reloadData() } MainProduct数组 ( { "addtional_price" = 0; "barcode_image" = ".png"; "cart_unique_id" = 6; "chicken_product" = all; "created_by" = 2; "created_date" = "2015-11-19 21:39:24"; "deleted_date" = "0000-00-00 00:00:00"; ids = 151; isFromMain = 1; […]

select器来获取indexPath UICollectionView Swift 3.0

我试图获得两次点击单元格上的indexPath 。 我在这样的Selector传递参数,但它给错误。 这是什么正确的格式? func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { if let subOptioncell : SubOptionsCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: subOptionsCVReuseIdentifier, for: indexPath) as! SubOptionsCollectionViewCell let imageNamed = "\(customizeOptionSelected[indexPath.row])" subOptioncell.subOptionsImage.image = UIImage(named: imageNamed) let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped(sender: indexPath))) tap.numberOfTapsRequired = 2 collectionView.addGestureRecognizer(tap) return subOptioncell } } func doubleTapped(sender: IndexPath) { print("Double […]

Swift数组附加覆盖其他数组值

我是Swift的新手,但我并不陌生。 我想我会试着做一个小游戏。 这是我喜欢学习的东西。 这是我正在做的。 我开始通过调用一个方法来初始化我的“对象模板” internal func initializeObjectTemplates(){ objectTemplates.append(GameObject(passed_x: 0, passed_y: 0, passed_max: 25, passed_min: 25, passed_points: 100, passed_img: "BeerGlass1", passedLengthOfTimeOnScreen: 5, passedBottomChance: 1, passedTopChance: 50, passedId: 0)) objectTemplates.append(GameObject(passed_x: 0, passed_y: 0, passed_max: 25, passed_min: 25, passed_points: 300, passed_img: "BeerGlass2", passedLengthOfTimeOnScreen: 2, passedBottomChance: 51, passedTopChance: 100, passedId: 0)) } 我有一个计时器,每秒钟运行一个名为“更新”的func。 “更新”func随机select两个模板之一,向模板对象添加一些其他信息,做一些其他的逻辑,并追加到我有一个数组。 一切都追溯到似乎正在工作。 我添加了各种断点,并且GameObject对象似乎正在被正确填充。 当我追加对象时,它将覆盖对象数组中的其他项目。 我无法弄清楚。 […]

自动调整自定义的UITableViewCell和标签中的文字

我有一个自定义的UITableViewCell只有一个标签。 当我在StackOverflow上阅读时,我还将Interface Builder中的行数设置为0。 import UIKit class CommonListViewCell: UITableViewCell { @IBOutlet var background: UIView! @IBOutlet var titleLabel: UILabel! override func awakeFromNib() { super.awakeFromNib() // Initialization code titleLabel.font = UIFont(name: "roboto", size: titleLabel.font.pointSize) NSLog("CommonListViewCell font changed") } } 这里是视图控制器与UITableView一起工作的部分: override func viewDidLoad() { super.viewDidLoad() self.lvMain.delegate = self; self.lvMain.dataSource = self; self.lvMain.registerNib(UINib(nibName: "CommonListViewCell", bundle: nil), forCellReuseIdentifier: "commonlistidentifier") self.lvMain.estimatedRowHeight […]

检测纵向或横向全屏播放的video

我参与了这两天以上。 我不能得到任何解决scheme,请。 我有要求是video应该播放肖像内联,全屏,风景。 我的问题在于如何识别正在播放全屏风景或人像的video。 我已经实现了viewWillTransitionToSize方法。 但AVPlayer有全屏箭头button。 我如何识别用户点击了该选项。 第二个要求是,video完成后,在video节目重放或下一个或上一个选项之上创build视图。 这是我的代码; if videoCellVal == nil { videoCellVal = videoCell comPlayerControl = AVPlayerViewController() if let player = comPlayerControl { let videoURL: String = "http://cdnapi.kaltura.com/p/11/sp/11/playManifest/entryId/"+selectedSubmission.transcodeRefId+"/format/applehttp/protocol/http/a.m3u8" let playerItem = AVPlayerItem(URL: NSURL(string: videoURL)! ) commmentPlayer = AVPlayer(playerItem: playerItem) player.player = commmentPlayer player.view.frame = videoCell.frame player.view.sizeToFit() player.showsPlaybackControls = true NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerDidFinishPlaying:", […]

Swift:不能调用没有参数的“reloadData”

我目前正在Swift中构build我的第一个应用程序。 我使用Parse作为数据库,并希望显示表食谱中的所有标题。 我为所有的标题创build了一个数组,每次添加一个标题。 但我的tableView函数不会更新它(计数= 0) 我认为这是因为我没有重新加载tableView后,我的数组追加标题。 但是,如果我添加self.tableView.reloadData() – >无法调用'reloadData'没有参数,我得到一个错误。 有人可以帮我吗? 我尝试了很多东西,到处都是互联网,但是找不到答案。 我的代码: import UIKit import Parse import Bolts class FirstViewController: UIViewController, UITableViewDelegate { var titel = [String]() var afbeelding = [UIImage]() var afbeeldingFile = [PFFile]() override func viewDidLoad() { super.viewDidLoad() var query = PFQuery(className:"Recipes") query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in if error […]

使用swift iOS8通过代码将约束设置到Storyboard中的元素

我有一个ViewView的一个ViewController。 我已经在故事板中设置了它。 有没有办法以编程方式设置tableView的约束? 我试图在ViewController中从我的tableView中设置一个IBOutlet,并添加约束条件。 但是这没有用。 这是我的ViewController import UIKit class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() addTableViewConstraints() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func addTableViewConstraints() { tableView.setTranslatesAutoresizingMaskIntoConstraints(false) var topConstraint = NSLayoutConstraint(item: self.tableView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: […]