Tag: 快速

在父类上创build一个可以被其所有子类访问的函数

我试图创build一个父类的function,可以访问它的子类。 我遇到的问题是函数的一部分,是指需要在子类中发生的init。 我收到一个错误: 传递给调用的参数不需要参数 我不完全知道如何使它的子类没有复制和粘贴到每个子类中的function。 这是父类: class JSONObject: NSObject { static func updateResultsDictionary(urlExtension: String, completion: @escaping (JSONObject?) -> Void) { let nm = NetworkManager.sharedManager _ = nm.getJSONData(urlExtension: urlExtension) {data in guard let jsonDictionary = nm.parseJSONFromData(data), let resultDictionaries = jsonDictionary["result"] as? [[String : Any]] else { completion(nil) return } for resultsDictionary in resultDictionaries { let jsonInfo […]

animation显示button

我正在尝试创build一个基本的animation。 我需要触摸一个button来隐藏或显示。 我编写了这个代码来点击屏幕: func visibleControlButton(_ sender: UITapGestureRecognizer) { if (backButton!.isHidden) { _UIButtonHiddenAnimation.hiddenAnimation(button: self.backButton!, hide: false) } else { _UIButtonHiddenAnimation.hiddenAnimation(button: self.backButton!, hide: true) } } 定义_UIButtonHiddenAnimation: class _UIButtonHiddenAnimation { class func hiddenAnimation(button: UIButton, hide: Bool) { UIView.animate(withDuration: 0.2, animations: { hide ? (button.alpha = 0) : (button.alpha = 1.0) }, completion: { finished in hide ? […]

阻止表视图在insertRows之后滚动顶部

里面有tableView的viewController。 这个tableView有很多部分和行。 当我尝试使用TableView.insertRows(在:[IndexPath(row:r,section:sec)],在:最后一节添加一个新行:.bottom) tableView滚动到顶部,并显示当前部分中的第一个单元格。 如何防止tableView滚动到顶部? 谢谢 这是我的解决scheme 当尝试添加单元格时,我使用此代码 self.didAddNewCell = true self.chatTableView.reloadData() self.scrollToBottom() 然后添加这个代码 func scrollViewDidScroll(_ scrollView: UIScrollView) { if self.didAddNewCell { self.didAddNewCell = false let bottomOffset = CGPoint(x: CGFloat(0), y:CGFloat(chatTableView.contentSize.height – self.chatTableView.bounds.size.height)) scrollView.setContentOffset(bottomOffset, animated: true) } } 而这个代码滚动到底部 func scrollToBottom() { let sections = self.chatTableView.numberOfSections if sections > 0 { let rows = self.chatTableView.numberOfRows(inSection: […]

目标C到Swift – DoWithBlock

我想只在一个目标C类函数完成时在Swift中创build一个数组。 我在目标C函数中使用了一个DoWithBlock,但是我是IOS新手,正在尝试解决它是否按照正确的顺序运行。 我在这里得到了解决scheme的帮助,但是我不确定我做了什么来解决这个问题是正确的,我相信这应该是一个新问题。 在目标C类中,我用这样的块调用函数: – (void)scanTableDoWithBlock:(void(^)(NSArray *scanResult, NSError *error))handler { AWSDynamoDBObjectMapper *dynamoDBObjectMapper = [AWSDynamoDBObjectMapper defaultDynamoDBObjectMapper]; AWSDynamoDBScanExpression *scanExpression = [AWSDynamoDBScanExpression new]; scanExpression.limit = @10; [[dynamoDBObjectMapper scan:[Mapper class] expression:scanExpression] continueWithBlock:^id(AWSTask *task) { if (task.error) { NSLog(@"The request failed. Error: [%@]", task.error); if (handler != nil) { handler(nil, task.error); } } if (task.exception) { NSLog(@"The request failed. Exception: […]

在Swift中按下button时无法识别select器错误

我是新来的,在YouTube上通过斯坦福大学开发iOS 9应用程序,我在第一课遇到问题。 我的代码和教师是一样的,但是我得到一个我似乎无法解决的错误。 我认为这可能是斯威夫特2和3之间的差异,但我不确定。 import UIKit class ViewController: UIViewController { @IBOutlet weak var display: UILabel! var userIsInTheMiddleOfTyping: Bool = false @IBAction func touchDigit(sender: UIButton) { let digit: String = sender.currentTitle! if userIsInTheMiddleOfTyping { let textCurrentlyInDisplay: String = display.text! display.text = textCurrentlyInDisplay + digit } else { display.text = digit } userIsInTheMiddleOfTyping = true } } […]

input不匹配问题,同时添加到coredata数组

我已经在alertview文本字段中的数据添加到像这样的coredata的对象… let category = Category(context: self.context) category.alertTextFieldData = (alertController.textFields?.first?.text)! 但是现在我想把这个添加到我正在尝试这样做的CoreData数组中… self.people.append(category.alertTextFieldData!) 但是当我这样做,它会给出错误.. 'Cannot convert value of type 'String' to expected argument type 'Category'' 其中Category是实体名称。 那我该如何解决这个问题呢?

UICollectionViewFlowLayout minimumLineSpacing不适用于整个集合视图 – Swift

我正在为日历创buildUIView子类,其中带有stream布局的UICollectionView用于显示date。 代码是: override func draw(_ rect: CGRect) { super.draw(rect) . . configureCalendarView() . } func configureCalendarView() { cellWd = Double(self.frame.size.width)/7.0 let layout = UICollectionViewFlowLayout.init() layout.minimumLineSpacing = 0.5 layout.minimumInteritemSpacing = 0.0 layout.sectionInset = UIEdgeInsetsMake(1, 0, 0, 0) collectionV = UICollectionView.init(frame: CGRect(x: 0, y:90, width:self.frame.size.width, height:CGFloat(cellWd * 5 + 3.5)), collectionViewLayout: layout) collectionV?.backgroundColor = self.backgroundColor collectionV?.isScrollEnabled = […]

URL编码问题在Swift ios中

我从我的服务器响应获取url为: HTTPS://baseURL/The+Man+in+the+High+Castle+Official+Trailer+%E2%80%93+2+th.m3u8 我正在做的编码为: videoURL = videoURL.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())! 但avplayer无法播放这个特定的url。 看起来像编码URL中的一些问题

NSPredicate在多对多关系中计数> 0

我在CoreData中有三个层次的对象:假设实体A有一组实体B,而实体B有一组实体C。 (多对多B和B多对多C) 我想要得到所有的实体A,使得有B和C。 我试图使用一个谓词时提取实体A: NSPredicate(format: "ANY bs.cs.@count > 0")'但我得到这个错误: Unsupported function expression count: (bs.cs) 任何想法如何正确地写这个查询?

如何对swift XCODE上的string进行AES 128encryption并将其作为POST发送给服务器?

如何在swift XCODE上对string进行AES 128encryption,并将其作为POST发送到服务器?…我是XCODE的新手,正在学习对string数据进行encryption并希望发送到HTTP服务器。 这是一个基本的iOS应用程序发送设备的经度和纬度。