`[AnyObject]` 到 NSMutableArray
`[AnyObject]` to NSMutableArray
将 [AnyObject]
转换为 NSMutableArray
时遇到问题。
尝试将以下代码转换为 swift2.0
NSString *search = [searchBar.text stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
[[SpotifySDKAPI sharedInstance]searchSPTracks:self.session searchQuery:search completionHandler:^(SPTListPage *trackList, NSString *error) {
NSArray* tempArray = trackList.items;
self.spotifySearchResults = [tempArray mutableCopy];
[self.tableView reloadData];
}];
您可以将 [AnyObject] 声明为 VAR 而不是 LET,并且可以将对象附加到它,它将成为可变对象。如果这是目的,则无需将 [AnyObject] 转换为 NSMutableArray。
你可以试试下面的答案
let search: String = searchBar.text.stringByReplacingOccurrencesOfString(" ", withString: "%20")
SpotifySDKAPI.sharedInstance().searchSPTracks(self.session, searchQuery: search, completionHandler: {(trackList: SPTListPage, error: String) -> Void in
var tempArray: [AnyObject] = trackList.items
self.spotifySearchResults = tempArray.mutableCopy()
self.tableView.reloadData()
})
A Swift 数组 CANNOT 被转换为 NSMutableArray
但是对于所有意图和目的来说 Swift 数组和 NSArray
是完全可以互换的。如果你想初始化一个 NSMutableArray
你所要做的就是:
var mutableArray : NSMutableArray = NSMutableArray(array: swiftArray)
尝试更改以下行,将 AnyObject
替换为 NSMutableArray
:-
let tempArray : NSMutableArray = trackList.items
将 [AnyObject]
转换为 NSMutableArray
时遇到问题。
尝试将以下代码转换为 swift2.0
NSString *search = [searchBar.text stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
[[SpotifySDKAPI sharedInstance]searchSPTracks:self.session searchQuery:search completionHandler:^(SPTListPage *trackList, NSString *error) {
NSArray* tempArray = trackList.items;
self.spotifySearchResults = [tempArray mutableCopy];
[self.tableView reloadData];
}];
您可以将 [AnyObject] 声明为 VAR 而不是 LET,并且可以将对象附加到它,它将成为可变对象。如果这是目的,则无需将 [AnyObject] 转换为 NSMutableArray。
你可以试试下面的答案
let search: String = searchBar.text.stringByReplacingOccurrencesOfString(" ", withString: "%20")
SpotifySDKAPI.sharedInstance().searchSPTracks(self.session, searchQuery: search, completionHandler: {(trackList: SPTListPage, error: String) -> Void in
var tempArray: [AnyObject] = trackList.items
self.spotifySearchResults = tempArray.mutableCopy()
self.tableView.reloadData()
})
A Swift 数组 CANNOT 被转换为 NSMutableArray
但是对于所有意图和目的来说 Swift 数组和 NSArray
是完全可以互换的。如果你想初始化一个 NSMutableArray
你所要做的就是:
var mutableArray : NSMutableArray = NSMutableArray(array: swiftArray)
尝试更改以下行,将 AnyObject
替换为 NSMutableArray
:-
let tempArray : NSMutableArray = trackList.items