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 trialChristoph Müller
7,282 Points'UIButton' does not have a member named 'text'
Running the app failed in the 'PlayListDetailViewController' because of the the line
buttonPressLabel.text = segueLabelText
Here Xcode tells me "'UIButton' does not have a member named 'text'". I downloaded the Xcode files from the course but it also happens on your code. I'm using Xcode 6.3.
Thanks for your help!
9 Answers
Aayush Manocha
2,112 PointsHi Cristoph, Thanks for the response. I think I may have figured out the issue here. Do you see the line where you declared the outlet for the label? It's on line 13. At the end of this line, after the colon, it says "UIButton!". Change this to "UILabel". I believe this should fix your problem.
Best Regards, Aayush
kjvswift93
13,515 PointsI don't have that line in my file. Here is my PlaylistDetailViewController code, please tell me how it differs from yours.
import UIKit
class PlaylistDetailViewController: UIViewController {
var playlist: Playlist?
@IBOutlet weak var playlistCoverImage: UIImageView!
@IBOutlet weak var playlistTitle: UILabel!
@IBOutlet weak var playlistDescription: UILabel!
@IBOutlet weak var playlistArtist0: UILabel!
@IBOutlet weak var playlistArtist1: UILabel!
@IBOutlet weak var playlistArtist2: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
if playlist != nil {
playlistCoverImage.image = playlist!.largeIcon
playlistCoverImage.backgroundColor = playlist!.backgroundColor
playlistTitle.text = playlist!.title
playlistDescription.text = playlist!.description
playlistArtist0.text = playlist!.artists[0]
playlistArtist1.text = playlist!.artists[1]
playlistArtist2.text = playlist!.artists[2]
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Christoph Müller
7,282 PointsHi Kyle
Thanks for your answer. Pasan enters the line in the video at min 3.00
Kind regards Christoph
Aayush Manocha
2,112 PointsCan you send a screenshot of your code? You may have accidentally control-dragged the view instead of the label into your view controller class. Please send a snapshot of your code so I can verify this
Christoph Müller
7,282 PointsHi Aayush
As I wrote, It doesn't matter if I'm using my code or the one Pasan offers to download. It won't work. Please see my code an the error here:
http://www.screencast.com/t/Db8jCX9DZs
Thanks for your help
Christoph
Aayush Manocha
2,112 PointsThanks Cristoph, I think I have figured out the solution. If you take a look at the picture of your code, you will notice that there is a empty circle on line 13. It is to the left of the line number. This empty circle means that the outlet isn't actually connected to a UI element. Try deleting the code and reconnecting the UIButton to an outlet. That should fix the problem. Best Regards, Aayush Manocha
Christoph Müller
7,282 PointsHi Aayush
Once again, thanks for your help. Good point with the empty circle (learned something new). How ever it that wasn't the issue. Please see my screenshot with the connected outlet.
http://www.screencast.com/t/WSr4fddW3
Please be aware that I'm using the code Pasan (or Treehouse) offers to download... since I was not sure if I made up an error.
Thanks for your effort on helping me
Christoph
Christoph Müller
7,282 PointsHi Aayush
That was the solution. Still it needed some more syntax fixes:
http://www.screencast.com/t/CaEbBAv9Z4
Line 19 needs an "!" at "buttonPressLabel!.text = segueLabelText"
Thanks, now it works and I can move on!
Regards Christoph
Petar Zelenovic
11,356 PointsSorry for being late, but I think the real root of the problem lies in the fact that you're using a button control as if it's a label. A button does not have a property "text". If you want to set the text of the button use the method setTitle(string, forState: .Normal)