【发布时间】:2016-04-18 19:39:19
【问题描述】:
我正在尝试弄清楚如何遍历此用户名数组,但不确定语法。我在 xcode 中使用 swift
我目前有:
// Read text file
if let filepath = NSBundle.mainBundle().pathForResource("barbers", ofType: "txt")
{
do
{
//let contents = try NSString(contentsOfFile: filepath, usedEncoding: nil) as String;
//print(contents);
let text = try NSString(contentsOfFile: filepath, usedEncoding: nil) as String;
// Create character array & parse
let usernames = text.characters
.split { $0 == "\n" }
.map { String($0) }
.map { String($0.characters.split(" ")[0]) }
// Print Users
print(usernames);
// Test
}
catch
{
// Catch error?
}
}
else
{
// Print error to console log
print("Error: Could not find text file - something went wrong");
}
我的问题是:如何循环访问我的用户名数组?
我只是不知道 swift 语法
我正在寻找类似的东西
for(int i =0; i < usernames.size(); i ++ )
{
if(usernames[i] == USER)
{
b = true;
break;
}
b = false;
}
更新:
好的,我已经想出了如何循环,但现在我遇到了麻烦
我做了一个全局变量
var abc = "";
然后我做了
let abc = usernames;
现在当我尝试这样做时
// Test
for i in abc.characters
{
print("abc array contents: " + i);
if(i == theUser)
{
print("Barber");
barb = true;
break;
}
print("USER " + theUser);
barb = false;
print("\n");
}
我得到了错误
二元运算符“+”不能应用于“字符串”和“字符”类型的操作数
和
二元运算符“==”不能应用于“字符”和“字符串”类型的操作数
【问题讨论】:
-
kye 现在我正在使用它,但由于某种原因它无法正常工作......但是当我打印出 i 的内容时,它会说出它应该说的内容,但它甚至没有执行 my for 的主体出于某种原因循环...这是我所拥有的 // 在用户名中测试 i { print(i); if(i == theUser) { print("理发师");倒钩=真;休息; } 倒钩 = 假; }
-
查看提供的答案,它们都应该有效!您还可以用该代码更新您的问题吗(在 cmets 中很难阅读)
-
如果您只想检查用户名数组是否包含给定字符串:
if usernames.contains(USER) { ... } -
查看我更新的帖子。我现在在尝试遍历数组时遇到了另一个问题
标签: arrays xcode swift for-loop