swift5学习之旅之-----数据收集

- 整体代码
Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞👍,如果翻不了墙要代码可以私聊我
https://www.dropbox.com/sh/y8bqtv06vxbhx1b/AADVdXGgCyj-xZLvv5ZHm-C1a?dl=0
Dropbox 数据收集链接
- 主要的实现功能:button点击后的#selector操作
@objc func storeSurvey(_ sender: AnyObject) {
let csvLine:String="姓名:\(name.text!),Email:\(email.text!)\n"
let paths = NSSearchPathForDirectoriesInDomains(
FileManager.SearchPathDirectory.documentDirectory,
FileManager.SearchPathDomainMask.userDomainMask, true)
let docDir:String=paths[0]
let surveyFile:String=(docDir as NSString).appendingPathComponent("surveyresults.csv")
if !FileManager.default.fileExists(atPath: surveyFile) {
FileManager.default.createFile(atPath: surveyFile,
contents: nil, attributes: nil)
}
let fileHandle:FileHandle=FileHandle(forUpdatingAtPath:surveyFile)!
//指针定位到文件末尾,即从末尾开始
fileHandle.seekToEndOfFile()
fileHandle.write(csvLine.data(using: String.Encoding.utf8)!)
fileHandle.closeFile()
name.text=""
email.text=""
}
@objc func clear(_ sender: AnyObject){
let paths = NSSearchPathForDirectoriesInDomains(
FileManager.SearchPathDirectory.documentDirectory,
FileManager.SearchPathDomainMask.userDomainMask, true)
let docDir:String=paths[0]
let surveyFile:String=(docDir as NSString).appendingPathComponent("surveyresults.csv")
print(surveyFile)
do {
try FileManager.default.removeItem(atPath: surveyFile)
}catch{
print("error")
}
}
@objc func showResults(_ sender: AnyObject) {
let paths = NSSearchPathForDirectoriesInDomains(
FileManager.SearchPathDirectory.documentDirectory,
FileManager.SearchPathDomainMask.userDomainMask, true)
let docDir:String=paths[0] as String
let surveyFile:String=(docDir as NSString).appendingPathComponent("surveyresults.csv")
if FileManager.default.fileExists(atPath: surveyFile) {
let fileHandle:FileHandle=FileHandle(forReadingAtPath:surveyFile)!
let surveyResults:String=NSString(data: fileHandle.availableData, encoding: String.Encoding.utf8.rawValue)! as String
fileHandle.closeFile()
resultView.text=surveyResults
}
}

这篇博客介绍了如何使用Swift5进行数据收集并存储到CSV文件中,包括创建、读取和清除文件内容的详细步骤。通过点击按钮触发#selector操作,实现了用户输入的姓名和邮箱信息写入CSV文件,并提供了清空数据和展示结果的功能。
49

被折叠的 条评论
为什么被折叠?



