Tag: 数组

TableView.reloadData()不工作? (迅速)

我正在开发一个测验应用程序,从JSON中提取问题。 我已经多次使用reloadData for TableView&按预期工作。 但现在我正在使用Alamofire将问题保存到一个数组中,并从数组中获取问题。 但它返回数组是不合格的。 我如何显示第一个单元格中的数组的第一项? 虚电路 class ExamController: UIViewController, UITableViewDataSource, UITableViewDelegate { @IBOutlet weak var Exam: UITableView! var CourseID : String! var EID : String! var EName : String! var ET : String! var QArray : [String] = [] var progress = GradientCircularProgress() override func viewDidLoad() { super.viewDidLoad() progress.show(style:MyStyle()) // JUST TRIED dispatch_async(dispatch_get_main_queue(), […]

为什么numberOfRowsInSection只有一个部分被多次调用?

// Variable and ViewDidLoad var auxRow = 0 var auxSection = 0 override func viewDidLoad() { super.viewDidLoad() } //节数,只有一个部分 override func numberOfSectionsInTableView(tableView: UITableView) -> Int { auxSection += 1 print("times section: ", auxSection) return 1 } //行数 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { auxRow += 1 print("times row: ", auxRow) return […]

从UITableView删除行并从Swift / iOS中的NSUserDefaults更新数组的正确方法

从UITableView删除行并从NSUserDefaults更新数组的正确方法是什么? 在下面的例子中,我从NSUserDefaults读取一个数组,并提供一个UITableView的内容,我也允许用户删除UITableView项目,我不知道什么时候读取和写入到NSUserDefaults所以表一行删除后立即更新。 正如你所看到的,我首先读取viewDidLoad方法中的数组,并将其重新保存在commitEditingStyle方法中。 有了这个方法,当一行被删除时,我的表不会重新加载。 override func viewDidLoad() { super.viewDidLoad() // Lets assume that an array already exists in NSUserdefaults. // Reading and filling array with content from NSUserDefaults. let userDefaults = NSUserDefaults.standardUserDefaults() var array:Array = userDefaults.objectForKey("myArrayKey") as? [String] ?? [String]() } func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } func tableView(tableView: UITableView, numberOfRowsInSection section: […]

UITableView类别数组钻取 – Swift iOS

我有3个视图控制器:FirstVC创build9个项目,SecondVC是一个tableView按类别name / idsorting这些项目,并显示两者,ThirdVC是一个tableView提取和显示该类别内的项目。 我试图实现一个tableView下钻做到这一点,但第二VC和thirdVC让我难倒了。 这是我正在寻找的结果: FirstVC -9 objects : 3 Red objects Cherry, Tomato, Ruby 3 Green objects Cucumber, Broccoli, Emerald 3 Blue objects Blueberries, Sky, Sapphire 1.create all 9 objects 2.the object color and/or id determine which category each object belongs in the secondVC //There is no need to display anything on this scene […]

在单击表格行时,SecondViewController上显示错误的信息

我正在尝试第一次build立一个tableView,而不是简单的分组,而是与一个单元格被点击时显示的信息不正确的问题。 首先我创build了一个数组,这个数组用来给我的组织标题。 接下来,我有一个数组,其中包含4个更多的数组,每个数组除了最后一个只有1的8个对象以外,这4个数组是我的组。 当应用程序运行时,组表将完全按照它应该显示,但是当你点击一个特定的行时,它可能会显示应该是不同的行的信息。 我正在从数组中删除一些对象,只是为了使代码更短,您可以在这里看到。 符文: import UIKit struct Rune { var runeName: String var runeImage: UIImage var runeDescription: String } 视图控制器: import UIKit class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { @IBOutlet weak var tableView: UITableView! var runeTitle = [["Freyr/Freya's Aett"], ["Heimdall's Aett"], ["Tyr's Aett"], ["Additional Runes"]] let runes = [[Rune(runeName: "Fehu", runeImage: UIImage(named: ("Fehu.png"))!, runeDescription: […]

迭代错误数组时发生Swift内存泄漏

我对Swift比较陌生,所以我希望我不要问一个愚蠢的问题。 我有一些代码实例化一个Errortypes的数组,这些代码稍后将被迭代并打印到控制台。 当使用“泄漏”工具通过仪器运行此代码时,它显示_SwiftNativeNSError泄漏。 如果将数组types从[Error]更改为[Any] ,则泄漏消失,即使它实际上仍保持符合Error的对象。 泄漏不能用我试过的任何其他数据types或协议重现。 以下是一些示例代码: class myLeak { lazy var errors = [Error]() enum err: Error { case myFirstError } func doSomething() { errors.append(err.myFirstError) for error in errors { print(String(describing: error)) } } } // call with let myleak = myLeak(); myleak.doSomething() 调用doSomething()函数立即创build泄漏。 将[Error]()切换到[Any]()可以解决泄漏问题,但是我并不满意这个解决scheme而不理解底层问题。 这个问题也可以通过改变[Error]()来实现Error协议: [err]() 。 我也尝试创build自己的自定义协议,只是为了certificate这是由Error引起的,我只能在使用Error时重现问题; 我自己的自定义协议没有performance出这种行为。 最初,我的代码使用forEach循环迭代数组,但是我然后尝试重写它以使用forEach中的闭包导致问题的情况下的标准for循环,但是这不起作用。 我怀疑这可能是一个Swift错误(在这种情况下,我会为它打开一个问题),但也有一个机会,我错过了一个关键的理解。 如果我正在做的是不好的做法,我想了解为什么。

jssorting多列不工作在IE和Safari

在这个问题中 ,数据是按大多数sorting的,如果大多数数据是相同的,那么当两名员工在同一天工作时,谁select了更多的水果。 如下所示 var workers = [ {"id":"111","name":"April", "most":"7","sd-111222":"1","sd-111333":"2","sd-111444":"2","sd-111555":"2"}, {"id":"222","name":"Bruno", "most":"7","sd-111222":"2","sd-222333":"1","sd-222444":"2","sd-222555":"2"}, {"id":"333","name":"Carlos","most":"6","sd-111333":"1","sd-222333":"2","sd-333444":"2","sd-333555":"1"}, {"id":"444","name":"Dwayne","most":"5","sd-111444":"1","sd-222444":"1","sd-333444":"1","sd-444555":"2"}, {"id":"555","name":"Ed", "most":"5","sd-111555":"1","sd-222555":"1","sd-333555":"2","sd-444555":"1"} ]; workers.sort(function(a,b) { return (a.most == b.most) ? (b["sd-" + a.id + b.id] – a["sd-" + a.id + b.id]) : (b.most – a.most); }); workers.forEach(function(elm){ console.log(elm["id"] + " " +elm["name"]); }); 在FF / Chrome / Android / Chrome中为Android输出。 222 Bruno […]

数据parsing后重新加载UICollection视图

我正在尝试dynamic更新一个uicollectionview。 我用这个惊人的教程如何创build一个简单的uicollection。 它使用静态数组的项目时效果很好。 我的问题 – 我想有一个uicollection填充数据从我的数据库parsing成一个新的数组。 我不知道如何重新加载parsing我的JSON数据后的uicollection。 更新的代码与答案: import UIKit class Books: UIViewController, UICollectionViewDelegate { @IBOutlet weak var bookscollection: UICollectionView! var user_id: Int = 0; //———— init —————// override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear(_ animated: Bool) { showtutorial() getuserid() } //———— show books —————// var booknames = [String]() var bookcolor = [String]() […]

如何基于另一个数组的位置对数组进行sorting?

我有一个tableView ,它的风格是Right Detail 。 因此,我有2个arrays ,一个是textLabels数据,另一个是detailTextLabel 。 将会有2个“sorting”选项。 一个将按textLabels数据sorting,第二个按照detailTextlabels数据sorting。 所以,当我sorting第一个array ( textLabels array ),第二个array (detailTextLables数组) will also have to get sorted based on the first数组) will also have to get sorted based on the first 。 我知道如何sortingarrays ,但我怎么能sorting一个基于另一个array ? 下面是我对array进行sorting的方法:(这是一个Dates array 。 firstArray.sort({ (a, b) -> Bool in a.earlierDate(b) == a })

在Swift中将UIImage转换为UInt8数组

所有! 我已经做了大量的研究,并且已经将几种不同的解决scheme整合到了我的项目中,但是他们都没有工作。 我现在的解决scheme已经从这个线程借用。 当我运行我的代码时,发生了两件事情: 像素arrays保持初始化但未填充(满0) 我得到两个错误: CGBitmapContextCreate:不支持的参数组合:设置CGBITMAP_CONTEXT_LOG_ERRORS环境variables来查看细节 和 CGContextDrawImage: invalid context 0x0. If you want to see the backtrace, please set 有任何想法吗? 这里是我目前为我的Image类调用的构build函数: init?(fromImage image: UIImage!) { let imageRef = image!.CGImage self.width = CGImageGetWidth(imageRef) self.height = CGImageGetHeight(imageRef) let colorspace = CGColorSpaceCreateDeviceRGB() let bytesPerRow = (4 * width); let bitsPerComponent :UInt = 8 let pixels = […]