Trying to add images to array, then need to merge four arrays to one array. What i am trying to do is:
var arrFiltersImagesList : NSMutableArray = []
var arrRoomInfoImages = Array<UIImage>()
var arrPropertyInfoImages = Array<UIImage>()
var arrAvailabilityImages = Array<UIImage>()
var arrPreferencesImages = Array<UIImage>()
arrRoomInfoImages += [UIImage(named: "ic_roomType_small.png")!, UIImage(named: "ic_furnished_small.png")!, UIImage(named: "ic_numberBedrooms_small.png")!]
arrPropertyInfoImages += [UIImage(named: "ic_small.png")!, UIImage(named: "ic_propertyType_small.png")!, UIImage(named: "ic_numberBedrooms_small.png")!, UIImage(named: "ic_numberBathrooms_small.png")!, UIImage(named: "ic_amenities Copy_small.png")!]
arrAvailabilityImages += [UIImage(named: "ic_roomType_small.png")!, UIImage(named: "ic_furnished_small.png")!, UIImage(named: "ic_ensuite_small.png")!]
arrPreferencesImages += [UIImage(named: "ic_roomType_small.png")!, UIImage(named: "ic_furnished_small.png")!, UIImage(named: "ic_ensuite_small.png")!]
arrFiltersImagesList.addObject(arrRoomInfoImages)
arrFiltersImagesList.addObject(arrPropertyInfoImages)
arrFiltersImagesList.addObject(arrAvailabilityImages)
arrFiltersImagesList.addObject(arrPreferencesImages)
Followed this link but doesn't worked at all output is terrible. Please guide the correct way. Thanks
I would do it by building your arrays into a let
variable rather than a var
variable, taking advantage of Swift's ability to infer the type:
import UIKit
let arrRoomInfoImages = [
UIImage(named: "ic_roomType_small.png"),
UIImage(named: "ic_furnished_small.png"),
UIImage(named: "ic_numberBedrooms_small.png")].flatMap { $0 }
let arrPropertyInfoImages = [
UIImage(named: "ic_small.png"),
UIImage(named: "ic_propertyType_small.png"),
UIImage(named: "ic_numberBedrooms_small.png"),
UIImage(named: "ic_numberBathrooms_small.png"),
UIImage(named: "ic_amenities Copy_small.png")].flatMap { $0 }
let arrAvailabilityImages = [
UIImage(named: "ic_roomType_small.png"),
UIImage(named: "ic_furnished_small.png"),
UIImage(named: "ic_ensuite_small.png")].flatMap { $0 }
let arrPreferencesImages = [
UIImage(named: "ic_roomType_small.png"),
UIImage(named: "ic_furnished_small.png"),
UIImage(named: "ic_ensuite_small.png")].flatMap { $0 }
let arrFiltersImagesList = [
arrRoomInfoImages,
arrPropertyInfoImages,
arrAvailabilityImages,
arrPreferencesImages]
Note that I'm not force-unwrapping the return values of the init
methods. Instead I'm using flatMap
to cull any nil
values in the arrays. This is a quick-and-dirty way to handle errors when loading your images, you may want to do something more complicated to make sure any non-loading images are handled properly.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.