通用的 iOS 应用方法。
这是一个提供常用的方法/功能的 API 库。例如,从日期到字符串的转换,根据屏幕计算动态宽度和高度,各种日历、日期转换,获取包含绝对路径的文件名,获取包含绝对路径的文件扩展名,获取随机数(Int, Float, Double)以及生成指定长度的随机字母数字。
安装:GenUtilsLib 库可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中:pod 'GenUtilsLib'
用法 1
let genUtilsLib = GenUtilsLib()
let currentTime = genUtilsLib.getCurrentTime()
print("current time: \(currentTime)")
print("2 + 5 is \(genUtilsLib.add(a: 2, b: 5))\n 5 - 2 is \(genUtilsLib.sub(a: 5, b: 2))\n 2 * 5 is \(genUtilsLib.multiply(a: 2, b: 5))\n 5 / 2 is \(genUtilsLib.divide(a: 5, b: 2))")
print("Get height for percent 23: \(genUtilsLib.getHeightFor(percent: 23))")
print("Get height for percent 23 in integer: \(genUtilsLib.getHeightForPercentNReturnInt(percent: 23))")
print("Get width for percent 23: \(genUtilsLib.getWidthFor(percent: 23))")
print("Get width for percent 23 in integer: \(genUtilsLib.getWidthForPercentNReturnInt(percent: 23))")
let dateint:Int = Int(Date().timeIntervalSince1970 * 1000) - 68000
print("Get day from the given date:\(genUtilsLib.getDay(time: dateint))")
print("Get time from the given date:\(genUtilsLib.getTime(time: dateint))")
print("Get time from the given date for messenger/sms usage format:\(genUtilsLib.getTimeForMessage(time: dateint))")
示例输出 1
current time: 11:45
2 + 5 is 7
5 - 2 is 3
2 * 5 is 10
5 / 2 is 2
Get height for percent 23: 206.08
Get height for percent 23 in integer: 206
Get width for percent 23: 95.22
Get width for percent 23 in integer: 95
Get day from the given date:10 Oct, 2019
Get time from the given date:1 min
Get time from the given date for messenger/sms usage format:11:44
用法 2
// To convert date to string format: dd MMM yyyy
let sampleDate = Date()
let lastYearDate = Calendar.current.date(byAdding: .year, value: -2, to: Date())
let lastMonthDate = Calendar.current.date(byAdding: .month, value: -2, to: Date())
let lastDaysDate = Calendar.current.date(byAdding: .day, value: -2, to: Date())
let lastHoursDate = Calendar.current.date(byAdding: .hour, value: -3, to: Date())
let lastWeeksDate = Calendar.current.date(byAdding: .weekOfMonth, value: -2, to: Date())
let lastMinsDate = Calendar.current.date(byAdding: .minute, value: -3, to: Date())
let lastSecondsDate = Calendar.current.date(byAdding: .second, value: -3, to: Date())
let yrsStr = sampleDate.years(from: lastYearDate!)
print("years from date to date: \(yrsStr)")
let monthStr = sampleDate.months(from: lastMonthDate!)
print("months from date to date: \(monthStr)")
let daysStr = sampleDate.days(from: lastDaysDate!)
print("days from date to date: \(daysStr)")
let hoursStr = sampleDate.hours(from: lastHoursDate!)
print("hours from date to date: \(hoursStr)")
let weeksStr = sampleDate.weeks(from: lastWeeksDate!)
print("weeks from date to date: \(weeksStr)")
let minsStr = sampleDate.minutes(from: lastMinsDate!)
print("minutes from date to date: \(minsStr)")
let secsStr = sampleDate.seconds(from: lastSecondsDate!)
print("seconds from date to date: \(secsStr)")
// To convert date to string format: dd MMM yyyy
let str = sampleDate.toDateString()
print("Sample date to string conversion: \(str!)")
// To convert date to ical style with UTC zone
print("convert date to ical style with utc zone string: \(sampleDate.toString())")
print("convert date to day number string: \(sampleDate.toDayNumString()!)")
print("convert date to time string: \(sampleDate.toTimeString()!)")
print("convert date to day in week string: \(sampleDate.toDayWeekString()!)")
示例输出 2
years from date to date: 1
months from date to date: 1
days from date to date: 1
hours from date to date: 2
weeks from date to date: 1
minutes from date to date: 2
seconds from date to date: 2
Sample date to string conversion: 10 Oct 2019
convert date to ical style with utc zone string: 20191010T130757Z
convert date to day number string: 10
convert date to time string: 13:07 PM
convert date to day in week string: Thu
用法 3
// To convert string(having date) in ical style to other formats date/strings
let dateStr = sampleDate.toString()
print("convert string(having date) to Date:\(dateStr.toDate()!)")
print("convert string(having date) to day in week string:\(dateStr.toDayWeekString()!)")
print("convert string(having date) to time string:\(dateStr.toTimeString()!)")
print("convert string(having date) to day number string:\(dateStr.toDayNumString()!)")
print("convert string(having date) to date string:\(dateStr.toDateString()!)")
// Convert date to millis
print("Convert string(having date) to date in millis: \(sampleDate.millisecondsSince1970)")
// To get file name and extension having filepath string
let filepath = "/var/mobile/Containers/Data/Application/29306029-BDCF-4BEA-93A6-D5626CBAAA90/Documents/x.jpg"
print("Filename from absolute path: \(filepath.fileName())")
print("File extension from absolute path: \(filepath.fileExtension())")
示例输出 3
convert string(having date) to Date:2019-10-10 13:07:57 +0000
convert string(having date) to day in week string:Thu
convert string(having date) to time string:01:07 PM
convert string(having date) to day number string:10
convert string(having date) to date string:10 Oct 2019
Convert string(having date) to date in millis: 1570712877951
Filename from absolute path: x
File extension from absolute path: jpg
用法 4
let rangeParam = 0..<10
let num:Int = 2
let obj1 = genUtilsLib.generateRandomNumsForRange(item: num, range1: rangeParam)
print("random number 1: \(obj1)")
let rangeParam1 = Float(0.0)..<Float(10.0)
let numf:Float = 2.0
let obj3 = genUtilsLib.generateRandomNumsForRange(item: numf, range1: rangeParam1)
print("random number 1: \(obj3)")
let closerangeParam = 0...10
let obj2 = genUtilsLib.generateRandomNumsForClosedRange(item: num, range2: closerangeParam)
let closerangeParam1 = Float(0)...Float(10)
let obj4 = genUtilsLib.generateRandomNumsForClosedRange(item: numf, range2: closerangeParam1)
print("random number 2: \(obj2), float num:\(obj4)")
let length = 10
let rnstr = genUtilsLib.generateRandomStrOf(length: length)
let alphanrnstr = genUtilsLib.generateRandomAlphaNumbericStrOf(length: length)
print("Random alpha numeric string :\(alphanrnstr), alpha string:\(rnstr) of length:\(length)")
示例输出 4
random number 1: 3
random number 1: 8.247364
random number 2: 9, float num:4.4379115
random number 1: 4
random number 1: 9.72094
random number 2: 5, float num:4.930835
random number 1: 2
random number 1: 4.2926607
random number 2: 10, float num:5.9136767
random number 1: 5
random number 1: 6.8834515
random number 2: 6, float num:7.584736
random number 1: 0
random number 1: 8.974448
random number 2: 8, float num:8.058499
random number 1: 6
random number 1: 2.396661
random number 2: 0, float num:9.370275
random number 1: 5
random number 1: 2.5742245
random number 2: 1, float num:3.7711782
random number 1: 0
random number 1: 5.217782
random number 2: 9, float num:0.7126498
random number 1: 8
random number 1: 3.7407172
random number 2: 9, float num:6.306155
random number 1: 2
random number 1: 8.1746435
random number 2: 5, float num:7.1632886
Random alpha numeric string :MvTLKbLGme, alpha string:LvTJqsLvNO of length:10