出现如下错误:
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
有什么想法吗?提前致谢
答案 0 :(得分:1)
在您的setup_label
方法中,您接受以下参数frame
,bgcolor
和text
,其中text
参数假设为字符串对象
因此,您的viewDidLoad
方法应为以下
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