小编Thu*_*ris的帖子

可扩展部分UITableView IndexPath SWIFT

我对编码很新,我只知道Swift.我找到了几个教程来在表格中生成下拉部分.基本上它将代表一个电视节目,标题将是季节和每个季节的剧集下拉列表.

我设法通过https://github.com/fawazbabu/Accordion_Menu完美地满足我的需求

这一切看起来都不错,但是我需要能够从下拉项中进行选择.我添加didSelectRowAtIndexPath了一个简单的行打印开头.当我选择行,节或单元格时,会返回随机索引路径,可以再次按下同一行并返回不同的值.我认为这只是我在问题中添加的内容.所以我添加didSelectRowAtIndexPath了原始代码.这有同样的问题.

我假设这是因为UIGestureRecogniser正在使用a 和didSelectRowAtIndexPath.但我不确定替代方案是什么.

有人能告诉我哪里出错了吗?

import UIKit
import Foundation


class test: UIViewController, UITableViewDelegate, UITableViewDataSource {


    @IBOutlet var tableView: UITableView!
    var sectionTitleArray : NSMutableArray = NSMutableArray()
    var sectionContentDict : NSMutableDictionary = NSMutableDictionary()
    var arrayForBool : NSMutableArray = NSMutableArray()


    override func awakeFromNib() {
        super.awakeFromNib()

        tableView.delegate = self
        tableView.dataSource = self

        arrayForBool = ["0","0"]
        sectionTitleArray = ["Pool A","Pool B"]
        var tmp1 : NSArray = ["New Zealand","Australia","Bangladesh","Sri Lanka"]
        var string1 = sectionTitleArray .objectAtIndex(0) as? String …
Run Code Online (Sandbox Code Playgroud)

expandable uitableview didselectrowatindexpath swift

4
推荐指数
1
解决办法
9523
查看次数

UICollectionview scrollToItemAtIndexPath,在动画完成之前不加载可见单元格

我有UICollectionView142个细胞.任何时候都可以看到7.5.

我正在将一个单元格从indexPath0移到100.但我也想滚动到那个新位置.

下面的代码工作正常.但它动画移动和滚动,但随后将细胞加载到中央/移动的细胞前后.我认为这是因为细胞是可重复使用的.但是142,我无法预加载所有这些

它不是最好的效果,我想预先加载新位置周围的单元格,4之前和之后4 indexPath,然后看动画的动画和滚动.你能帮帮忙吗?

UIView.animateWithDuration(animationSpeed, animations: {() -> Void in
    self.collectionView.layoutIfNeeded()
    self.collectionView.scrollToItemAtIndexPath(NSIndexPath(forItem:self.indexPathSelected.row, 
                                                 inSection:0), 
                                                 atScrollPosition: .CenteredHorizontally, 
                                                 animated: true)

})
Run Code Online (Sandbox Code Playgroud)

animation scroll uicollectionview uicollectionreusableview swift

3
推荐指数
2
解决办法
7021
查看次数

MD5 3DES加密Swift

我有一个应用程序,必须发送已由MD5首先加密,然后由3DES加密的登录凭据.

我已设法使用CryptoSwift通过MD5加密字符串.但是我在Swift上找不到任何加密3DES的东西.

我尝试过CommonCrypto.据我所知,这是在C中,但可以使用桥接头导入到Objective C中.

我找到了一些文章和教程,告诉我如何将CommonCrypto导入Swift,或者通过桥接头(带有警告它不能用于框架)或者通过Model.map.然而,两者都不起作用 我不确定这是否是最新版iOS或Xcode的限制.

有人可以请一个替代方案吗?

谢谢

EDITED

嗨,请看我采取的以下步骤

  1. 好的,我创建了一个名为newEncrypt的新项目.
  2. 我选择不使用标头选项,因为说明这仅限于非框架应用程序/
  3. 我在newEncrypt中创建了一个名为CommonCrypto的文件夹,里面有一个module.map文件.其内容为:模块CommonCrypto [system] {header"/usr/include/CommonCrypto/CommonCrypto.h"export*}
  4. 将$ {SRCROOT}/CommonCrypto添加到swift编译器搜索路径 - 导入路径.调试和发布.
  5. 这是指令停止的地方.我假设我需要将CommonCrypto导入我的班级.此错误"无法构建目标C模块'CommonCrypto'.我还假设我应该在"/usr/include/CommonCrypto/CommonCrypto.h"或"/newEncrypt/CommonCrypto/CommonCrypto.h"中有CommonCrypto库文件(来自CommonCryto'include'文件夹)?我试过这个,但是我只是得到了同样的错误.
  6. 然后,我尝试使用#import添加头文件,并将-lfoo添加到其他链接器标志调试和释放(尽管这可能不是正确的),以防万一仍然需要这样做.但我仍然得到同样无法建立客观c错误.我确定我做错了很明显

encryption 3des md5 commoncrypto swift

2
推荐指数
1
解决办法
4150
查看次数

带有正文/有效负载的URLSession.shared.dataTask

以下代码非常适合简单的http请求。但是我找不到在Swift 3中添加有效负载或主体字符串的方法吗?和以前的版本已过时

  func jsonParser(urlString: String, completionHandler: @escaping (_ data: NSDictionary) -> Void) -> Void
{
    let urlPath = urlString
    guard let endpoint = URL(string: urlPath) else {
        print("Error creating endpoint")
        return
    }

    URLSession.shared.dataTask(with: endpoint) { (data, response, error) in
        do {
            guard let data = data else {
                throw JSONError.NoData

            }
            guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary else {
                throw JSONError.ConversionFailed
            }
            completionHandler(json)
        } catch let error as JSONError {
            print(error.rawValue)

        } catch let error …
Run Code Online (Sandbox Code Playgroud)

httprequest nsurlsessiondatatask swift3 urlsession

1
推荐指数
1
解决办法
4981
查看次数