我想使用另一种比较方法(如localizedCompare,caseInsensitiveCompare或localizedCaseInsensitiveCompare)对我的swift struct数组进行排序.swift标准字符串数组排序函数在小写字母之前排序所有大写字母.这是我的代码:
import Foundation
struct DataStruct {
struct Item {
let title: String
let number: Int
}
static var items = [
Item(title: "apple", number: 30),
Item(title: "Berry", number: 9),
Item(title: "apple", number: 18)]
}
class DataFunctions {
func sortItemsArrayTitle() {
DataStruct.items.sort { $0.title < $1.title }
}
}
Run Code Online (Sandbox Code Playgroud)
一旦调用,上面的代码就会产生[Berry,apple,apple].不能接受的.有什么建议?
我有一个UICollectionView带有 4cells的网格图案,没有scrolling. 每个单元格都有一个imageView. 该images被存储在资源文件夹,并通过名称检索参考(见下文)。经过一些UI行动,这个想法是
collectionView.reloadData()
Run Code Online (Sandbox Code Playgroud)
并替换image每个cell.
一切正常,但climbing每次重新加载后内存使用量保持不变。我曾假设reloadData()转储unnecessary data,但这次经历让我感到困惑。发生了什么?
如果有帮助,我会在某处阅读加载图像
UIImage(name: ...)
Run Code Online (Sandbox Code Playgroud)
缓存图像。我试图确认这一点,但画了一个空白。
我的代码非常简单,所以我想知道这是否是一些用于滚动目的的内存错误/功能(我不想要)。
再一次,我希望停止存储内存。有任何想法吗?
使用swift,我希望我的自定义dateFormatter.dateFormat是MMM-d或d-MMM,具体取决于用户的位置.如果我使用默认的short.medium.etc样式似乎很容易,但出于设计/布局考虑,我需要这种自定义格式.
有帮助吗?