Tag: 数组

根据元组的第二个值对数组进行sorting

感谢您阅读我的文章。 我有一个元组的数组声明如下: var myArray: [(item1: String?, item2: NSDate?)] = [] 在我的循环结束时,我想基于每个元组的item2,其types是NSDate?sorting我的元组数组NSDate? 。 基于这个答案和这个答案,我尝试了以下,但收到这个编译器错误, "cannot invoke 'sort' with an argument list of type '((_,_) -> _)' 。 这是我试过的: myArray.sort {$0.1.item2?.compare($1.1.item2?) == NSComparisonResult.OrderedDescending } PS println()工作正常,打印item1和item2作为可选。

用CoreData中保存的坐标将注释固定到mapView

我现在已经在互联网上search了,而且我尝试了几乎所有的东西。 我目前的项目是: 我从用户位置读取当前的坐标,并保存在CoreData中的经度和纬度,这个地方的名字(用户可以给一个名字) // MARK: – AddPlace Button Events @IBAction func onAddButton(sender: AnyObject) { //searching the current location let locCoord = CLLocationCoordinate2DMake(self.locationManager.location!.coordinate.latitude, self.locationManager.location!.coordinate.longitude) // 1. pass the data from the current location to lat and lng let lat = locCoord.latitude let lng = locCoord.longitude let ed = NSEntityDescription.entityForName("Store", inManagedObjectContext: moContext) let store = Store(entity: ed!, […]

问题存储/恢复全局string数组在swift中

我正在通过一门课程学习迅速。 作为特定项目方法的一部分,我创build了一个名为“tasks”的全局string数组。 import UIKit var tasks = [String]() 我已经满足了这个项目的要求,但是现在我想要做的就是在应用程序的开启/closures之间永久保存这个数组。 迄今为止描述的方法是使用 override func viewDidLoad() { NSUserDefaults.standardUserDefaults().setObject(tasks, forKey: "array") } 这应该保存数组。 当我尝试回忆数组时,问题就出现了。 我在viewDidLoad()里面都试过这两种方法: tasks = NSUserDefaults.standardUserDefaults().objectForKey("array")! as! NSArray 和 let returnedArray = NSUserDefaults.standardUserDefaults().objectForKey("array")! as! NSArray for i in returnedArray{ tasks.append(returnedArray[i]) } 第一个错误提示“NSArray不能转换为[String]';你的意思是使用”as!“ 强迫低调?“ 第二个给出的错误“不能将types'元素'(aka'AnyObject')的值转换为期望的参数types”Int“。 任何人都可以提供一些指导正在发生什么? 我仍然是一个相对的新手(只有2个星期左右),很多文件太密集了,我不明白。

在Xcode的Plist里search数组

我正在开发一个应用程序,该应用程序应该searchPlist数据中的string,并返回一个值,以提示用户是什么types的品牌。 例如,用户在我的文本字段中input“iPhone”,应用程序应该点击文本字段下方的“Go”button,返回用户input的产品品牌。 在我的Products.plist里面,它包含品牌的某些产品的品牌arrays。 例子是: 苹果:iPhone,iPod,iPad,Mac索尼:PSP,PS3,Bravia,Xperia三星:Galaxy S II,Galaxy S III,Galaxy Tab 我怎样才能做到这一点? 我已经做了我的应用程序工作正常,但没有使用plist。 我只想使用应用程序的Plist来轻松维护和更新。

如何按最近的距离排列对象数组(纬度,经度)?

我有一个从核心数据的数组,我想我怎么能sorting数组的距离最近的距离: for (int i=0; i<allTasks.count; i++) { id singleTask = allTasks[i]; double latitude = [singleTask[@"latitude"] doubleValue]; double longitude = [singleTask[@"longitude"] doubleValue]; } 编辑:当前位置和数组中所有位置之间的距离。 我知道如何计算距离,我不知道如何sorting。

iOS – 在swift 3中打印并存储字典数组

在我的项目中,我有一系列字典: var list = [[String: Any]] () 简而言之,我所做的就是从URL下载一个JSON文件 // json parsing 2 let url:String = "https://jsonplaceholder.typicode.com/users" let urlRequest = URL(string: url) URLSession.shared.dataTask(with: urlRequest!, completionHandler: {(data, response, error) in if(error != nil) { print(error.debugDescription) }else{ do { self.list = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [[String: Any]] OperationQueue.main.addOperation { self.tableView.reloadData() } }catch let error as NSError{ […]

iOS上的数组的Swift金属并行计算

基于@Kametrixom的答案 ,我已经做了一些testing应用程序并行计算总和在一个数组中。 我的testing应用程序如下所示: import UIKit import Metal class ViewController: UIViewController { // Data type, has to be the same as in the shader typealias DataType = CInt override func viewDidLoad() { super.viewDidLoad() let data = (0..<10000000).map{ _ in DataType(200) } // Our data, randomly generated var start, end : UInt64 var result:DataType = 0 start […]

Swift数组通过值传递…相同的内存地址?

有人可以请为我清除这个。 我明白(思想) Swift通过值传递数组,因为它是一个结构。 但是,当我通过segue传递数组到下一个视图控制器时,它在我看来是通过引用传递的,因为当我检查数组的内存地址时,它们是相同的。 这是我如何检查 println("\(unsafeAddressOf(runs))") // 0x0000000174240c00 我以为这些内存地址会不一样? 或者我只是迷惑自己。 Run / StaffTask类为了保存目的而从NSObjectinheritance。 class Run: NSObject, NSCoding { } 此外,如果我访问数组中的项目 var service = self.staffTasks[indexPath.row] 并编辑该值,数组中的服务variables值和元素都将被更新。 他们有相同的内存地址,如图所示 println("\(unsafeAddressOf(service)) \(unsafeAddressOf(self.staffTasks[indexPath.row]))") 也… staffTasks是一个称为runs的较大数组的子集 当我search服务对象,更大的集合,我发现他们也是相同的内存地址 if let index = find(self.runs, self.staff) { println("local \(unsafeAddressOf(self.staff)) main list \(unsafeAddressOf(self.runs[index]))") } 我正在使用NSCoding来保存我的对象,所以我想我需要find更大的集合中的服务对象,取代该对象,然后将其保存。 但事实certificate,我不需要,我可以编辑服务variables和运行数组自动更新…就像一个引用types会。 通过? 设置Var 在准备segue时,只需使用标准方法在第二个VC中设置本地var,var runsInSecondVC =运行。 不使用,指针或任何其他古怪。 谢谢你的帮助。 类基本细节 class […]

Swift将字节数组转换为整数

你好,我是新的swift,并希望将一个字节数组转换为几个整数。 我已经用Java编写了工作代码,但我不太确定如何快速完成工作 byte[] codeData = Base64.decode(codeDataBase64, 0); ByteArrayInputStream bais = new ByteArrayInputStream(codeData); DataInputStream dis = new DataInputStream(bais); byte version = dis.readByte(); if (version == 1) { int anID = dis.readInt(); int anotherID = dis.readInt(); byte[] TK = new byte[512]; int readTK = dis.read(TK); if (readTK == TK.length) { Log.e("photoConnect success", "anID=" + anID + ", […]

在swift中过滤数组

我怎样才能通过一个或多个标志过滤自定义对象的数组? let flags = ["New product", "Season 2014", "Season 2015", "Product available"] 使用一个或多个静态标志很容易: let filteredArray = myCustomObjectsArray.filter() { $0.isNew == true } let filteredArray = myCustomObjectsArray.filter() { $0.isNew == true && $0.season.rangeOfString("14") && $0.season.rangeOfString("15") && $0.isAvailable } 但是,如果标志是dynamic的,即标志数组是由用户点击tableview的单元格创build的呢? 其他问题是在尝试连接`filter(){condition1 && condition2等}中的多个条件时出错。 “expression复杂,要在合理的时间内解决……”。 所以,flags数组是用户select的(只是来自tableview单元格的标题)。 如果flags数组是[“New product”,“Season 2015”],我想用.isNew和.season.rangeOfString(“15”)来过滤。 所以我按属性sorting,而不是string。