Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialSTEVEN PENA
13,928 Pointsrestaurant review
restaurant review app is not working with swift 4
2 Answers
Justin Coberly
16,929 PointsAre you using swift 4? This project was written in swift3. UIColor(colorLiteralRed....) was valid syntax. In swift 4 they updated it to just "red". This should fix the problem if you replace all of the warnings.
UIColor(red: 209/255.0, green: 47/255.0, blue: 27/255.0, alpha: 1.0)
jc laurent
6,351 Pointsperhaps you could provide some code
STEVEN PENA
13,928 Points,,,import UIKit the error am getting is
--nit(colorLiteralRed:green:blue:alpha:)' is unavailable: This initializer is only meant to be used by color literals--
class YelpBusinessDetailController: UITableViewController {
@IBOutlet weak var restaurantNameLabel: UILabel!
@IBOutlet weak var priceLabel: UILabel!
@IBOutlet weak var ratingsCountLabel: UILabel!
@IBOutlet weak var categoriesLabel: UILabel!
@IBOutlet weak var hoursLabel: UILabel!
@IBOutlet weak var currentHoursStatusLabel: UILabel! {
didSet {
if currentHoursStatusLabel.text == "Open" {
currentHoursStatusLabel.textColor = UIColor(colorLiteralRed: 2/255.0, green: 192/255.0, blue: 97/255.0, alpha: 1.0)
} else {
currentHoursStatusLabel.textColor = UIColor(colorLiteralRed: 209/255.0, green: 47/255.0, blue: 27/255.0, alpha: 1.0)
}
}
}
var business: YelpBusiness?
lazy var dataSource: YelpReviewsDataSource = {
return YelpReviewsDataSource(data: [])
}()
override func viewDidLoad() {
super.viewDidLoad()
setupTableView()
if let business = business, let viewModel = YelpBusinessDetailViewModel(business: business) {
configure(with: viewModel)
}
}
/// Configures the views in the table view's header view
///
/// - Parameter viewModel: View model representation of a YelpBusiness object
func configure(with viewModel: YelpBusinessDetailViewModel) {
restaurantNameLabel.text = viewModel.restaurantName
priceLabel.text = viewModel.price
ratingsCountLabel.text = viewModel.ratingsCount
categoriesLabel.text = viewModel.categories
hoursLabel.text = viewModel.hours
currentHoursStatusLabel.text = viewModel.currentStatus
}
// MARK: - Table View
func setupTableView() {
tableView.dataSource = dataSource
tableView.delegate = self
}
} ,,,