Swift 新手咨詢2個問題,問題多,先抱歉了哈 :)
1、因為之前學過Python,覺得Swift的字串太讓人崩潰了,所以寫了這個函式方便自己截取字串
func cut_out_str(str: String, begin: Int, end: Int) -> String {
return (str as NSString).substring(with: NSRange(location: begin, end: end-begin))
}
這種自己寫函式以回避標準代碼的方式以及用cut_out_str這種Python的函式命名方式而非cutOutStr這種Swift函式命名方式算是不規范嗎?如果將來真的做為APP上架,這種寫代碼的方式會被apple拒嗎?
2、如果將一個這樣的文本檔案
a1
b2
c3
......
加工為一個這樣的二維陣列 [["a","1"], ["b","2"], ["c","3"]]
如果在python中,簡單到爆,自己寫幾行代碼就能搞定。
gd = open('e:/a.txt', 'r', encoding='utf-8')
gdlist1 = gd.readlines()
# 刪掉/n
for i in range(0, (len(gdlist1))):
gdlist1[i] = gdlist1[i].strip()
# 一維拆成二維
main_list = []
for i in gdlist1:
main_list.append([i[0], i[1]])
不過在Swift中就不可能了,陣列只能相同資料型別,只能用串列嵌套元組的方式 [("a","1"), ("b","2"), ("c","3")] 來實作。在網上轉了半天,還真沒找到如何實作這個簡單的功能,Swift用的人這么少嗎?謝謝啦!
uj5u.com熱心網友回復:
let arr: [String] = ["a1", "b2", "c3"]var res: [[String.Element]] = []
for strItem in arr {
var temp: [String.Element] = []
for char in strItem {
temp.append(char)
}
res.append(temp)
}
print(res)
// [["a", "1"], ["b", "2"], ["c", "3"]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/77120.html
標籤:iOS
