Have an error as follows:
Terminating app due to uncaught exception 'NameError', reason: 'weather_controller.rb:3:in `viewDidLoad': uninitialized constant WeatherController::Name (NameError)
AppDelegate:
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
puts "Hello! You just launched: #{App.name}, \n location: (#{App.documents_path})"
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
@window.backgroundColor = UIColor.lightGrayColor
@window.rootViewController = MyController.alloc.init
@window.makeKeyAndVisible
true
end
end
my_controller.rb:
class MyController < UIViewController
def viewDidLoad
@name_label = setup_label [[10, 10], [300, 50]], UIColor.orangeColor, Name
@place_label = setup_label [[10, 80], [300, 50]], UIColor.yellowColor, Place
@temp_label = setup_label [[10, 150], [300, 50]], UIColor.greenColor, Temperature
end
def setup_label frame, bgcolor, text
label = UILabel.alloc.initWithFrame(frame)
label.textColor = UIColor.darkGrayColor
label.backgroundColor = bgcolor
label.textAlignment = UITextAlignmentCenter
label.text = text.to_s
view.addSubview label
label
end
end
Any ideas? Thanks in advance
In your setup_label
method, you're accepting the following arguments, frame
, bgcolor
and text
where your text
argument suppose to be a String object.
Therefore, your viewDidLoad
method should be the following
def viewDidLoad
@name_label = setup_label [[10, 10], [300, 50]], UIColor.orangeColor, "Name"
@place_label = setup_label [[10, 80], [300, 50]], UIColor.yellowColor, "Place"
@temp_label = setup_label [[10, 150], [300, 50]], UIColor.greenColor, "Temperature"
end