Domanda

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

È stato utile?

Soluzione

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top