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
}
}