Arrays Swift 2:如何将动态数量的字符串分配给字符串数组?
上下文:Arrays Swift 2:如何将动态数量的字符串分配给字符串数组?,arrays,string,swift,swift2,tvos,Arrays,String,Swift,Swift2,Tvos,上下文: var arrayString : Array<String> = Array() arrayString.append("Hitendra") arrayString.append("Solanki") var arrayString : Array<String> = Array() arrayString.append("Hitendra")//not allowed arrayString.append("Solanki")//not allowed
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")
arrayString.append("Solanki")
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")//not allowed
arrayString.append("Solanki")//not allowed
我正在尝试创建一个应用程序,该应用程序根据我正在运行的本地服务器中的文件夹内容填充UICollectionView(tvOS)。我尝试这样做的方式(可能是完全错误的方式)是“刮”我服务器页面的html
我定义了以下属性:
let moviesArray:[String]=[“示例1 ”,“示例2 ”]
我的UICollectionView将返回UICollectionViewCell的数量等于moviesArray.count
,因此我需要这个数字(以及我在这个问题中不会涉及的其他数据)
问题:
我添加到服务器的文件/文件夹的数量是动态的,并且将根据我添加到服务器或从服务器中删除的电影而增加/减少。这显然会改变返回的html
下面的代码返回本地服务器URL的html并将其转换为字符串。然后,我基于一个范围创建一个子字符串,然后从html中分离出每个单独的
元素。代码如下:
do {
let url:NSURL? = NSURL(string: "http://localhost:8888/Files/movies/")
// 'contentsOfURL' returns the html code of the page
let html:String? = try NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding) as String
print(html)
// creates a substring of 'html' based on a range defined below
let ulString = html![(html?.startIndex.advancedBy(164))!...(html?.endIndex.advancedBy(-22))!]
print("<ul> substring is: \(ulString)")
// Splits each <li> into a separate string
let liSplit = ulString.characters.split{$0 == "\n"}.map(String.init)
print("li 1 is: \(liSplit[0])")
print("li 2 is: \(liSplit[1])")
print("li 3 is: \(liSplit[2])")
} catch {
print("the error is: \(error)")
}
do{
让url:NSURL?=NSURL(字符串:http://localhost:8888/Files/movies/")
//“contentsOfURL”返回页面的html代码
让html:String?=尝试将NSString(contentsofull:url!,编码:NSUTF8StringEncoding)作为字符串
打印(html)
//根据下面定义的范围创建“html”子字符串
让ulString=html![(html?.startIndex.advancedBy(164))!…(html?.endIndex.advancedBy(-22))!]
打印(“子字符串为:\(ulString)”)
//将每个- 拆分为单独的字符串
让liSplit=ulString.characters.split{$0==“\n”}.map(String.init)
打印(“li 1是:\(liSplit[0]))
打印(“li 2是:\(liSplit[1]))
打印(“li 3是:\(liSplit[2]))
}抓住{
打印(“错误为:\(错误)”)
}
我的问题:
如何根据返回的html字符串中
元素的数量,向self.moviesray
添加或删除String
对象?如果liSplit
的每个成员是一个动态数,我将如何将其分配给self.moviesArray
。您需要将moviesArray
声明为变量,而不是常量,并对其进行初始化:
var moviesArray = [String]()
然后,只需将所有检索到的元素添加到其中:
moviesArray += liSplit
您需要将
moviesArray
声明为变量,而不是常量,并对其进行初始化:
var moviesArray = [String]()
然后,只需将所有检索到的元素添加到其中:
moviesArray += liSplit
Objective-C中有两种类型的数组, 1)
NSArray
2) NSMutableArray
无法向NSArray添加对象或从NSArray中删除对象。
您可以向NSMutableArray添加对象或从中删除对象
在swift中,我们只有一个数组,即Array
e、 g.Array或[String]、Array或[NSURL]等
如果您使用var
关键字声明数组,它将是可变版本,因此您可以添加或删除对象
例如
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")
arrayString.append("Solanki")
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")//not allowed
arrayString.append("Solanki")//not allowed
所以只要换个颜色就行了
let moviesArray: [String] = ["<li>Example 1</li>", "<li>Example 2</li>"]
Objective-C中有两种类型的数组,
1)NSArray
2) NSMutableArray
无法向NSArray添加对象或从NSArray中删除对象。
您可以向NSMutableArray添加对象或从中删除对象
在swift中,我们只有一个数组,即Array
e、 g.Array或[String]、Array或[NSURL]等
如果您使用var
关键字声明数组,它将是可变版本,因此您可以添加或删除对象
例如
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")
arrayString.append("Solanki")
var arrayString : Array<String> = Array()
arrayString.append("Hitendra")//not allowed
arrayString.append("Solanki")//not allowed
所以只要换个颜色就行了
let moviesArray: [String] = ["<li>Example 1</li>", "<li>Example 2</li>"]