This question's answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.
I got an error on Xcode saying that there was no information about the view controller.
Could not insert new outlet connection: Could not find any information for the class named
Why is this happening?
https://i.stack.imgur.com/ToKcH.png
Here are some things that can fix this (in increasing order of difficulty):
Clean the project (Product > Clean)
Manually paste in @IBOutlet weak var viewName: UIView! // or @IBAction func viewTapped(_ sender: Any) { } and control drag to it. (Change type as needed.) Also see this.
Completely close Xcode and restart your project.
Delete the Derived Data folder (Go to Xcode > Preferences > Locations and click the gray arrow by the Derived Data folder. Then delete your project folder.)
Click delete on the class, remove reference (not Move to Trash), and add it back again. (see this answer)
Or if none of the above works, type out the name of the outlet into the file first @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!
and then click and drag from the outlet in the nib to the variable you just programmatically created. It should work without any of the hassle of cleaning, building, and deleting anything.
Just perform the two following steps to get rid of this error
Clean project using Product > clean Run the project
Now try to add the action or outlet. That's it.
Happy Coding
None of the tips in the best answer worked for me. Was going crazy. Then noticed that the Assistant Editor had somehow gotten set to Manual and I was on the ViewController.swift (Interface) instead of the ViewController.swift file.
Changed that and problem solved. A bit embarrassing but hey, we are all learning.
https://i.stack.imgur.com/XzfgU.png
Here are the steps solved for me:
Remove Class name reference from View(storyboard/xib) and save; Add Class name again and save; Clean and Build;
Done !
I had the same issue. I tired below solutions but didn’t worked :
Clean Project (cmd + shift + k) and even Clean Project Build (cmd + shift + alt + k) Deleted Derived data and Module Cache content
Below workaround to this issue :
Move to source code file and write the IBOutlet / IBAction manually (copy paste preferred)
https://i.stack.imgur.com/XgDZ2.png
Then move to Storyboard file and Open Utilites window Goto Connection Inspector Then Connect the IBOutlet and IBAction written in source file with Interface Builder.
https://i.stack.imgur.com/i3T4a.png
I had the same problem. I realised than in X-Code Manual
item was selected when I tried to create an outlet by control-drag
https://i.stack.imgur.com/aU9vY.png
After I set it to automatic it worked
https://i.stack.imgur.com/d4zEA.png
I solved this problem by programmatically creating the Labels and Textfields, and then Command-Dragged from the little empty circles on the left of the code to the components on the Storyboard. To illustrate my point: I wrote @IBOutlet weak var HelloLabel: UILabel!
, and then pressed Command and dragged the code into the component on the storyboard.
@IBOutlet weak var myButton: UIButton
I used the same process to set up @IBAction func doSomething(_ sender: Any) { }
and then connected this func to UIButton on my storyboard. Thanks for sharing this @KuboAndTwoStrings
Close the project you are working on with. Delete your project's【DerivedData】folder. (This folder may inside your project's folder, or inside ~/Library/Developer/Xcode/DerivedData/ (your project)/) or somewhere else that was setup by you. restart your project.
I got this bug when I renamed the class. Then I solved it just by following the below steps
In Xcode Menu -> Product -> Clean
Restart the Xcode
I found an easier workaround as I this bug can be found on XCODE 9.
Step one go to your viewcontroller and manually write the property you want to connect as the below example, make sure you use the below format.
@IBOutlet weak var questionsStackView: UIStackView!
Step two go to your storyboard and connect your view or whatever your trying to connect to the property you created in step 1.
The above will save you time of removing and cleaning derived data.
Please perform the following two steps only to get rid of this error.
1. Clean Project using Product -> clean.
2. Run the Project.
Now try to add/Connect the actions or outlets.
Working Fine for me for many times.
In my case this was bc I chose a new UIViewController file in IB and then tried to ctrl-drag to this new controller without first removing the previous connections in the Connections Inspector. Remove those first and try again.
For me it worked when on the right tab > Localization, I checked English check box. Initially only Base was checked. After that I had no more problems. Hope this helps!
https://i.stack.imgur.com/nC9VG.png
I selected Automatic option to select the ViewController.swift file. And then I can able to take outlets.
None of this worked for me but I did figure this out.
Inside the storyboard I copied the corresponding ViewController into the clipboard and deleted it, afterwards I pasted it again.
Suddenly everything was working like a charm again!
It happened when I added a Swift
file into an Objective-C
project .
So , in this situation what you can do is . .
Select MY_FILE.Swift >> Delete >> Remove Reference
Select MY_FOLDER >> Add MY_FILE.Swift
Voila ! You are good to go .
Simplest solution:- I used xCode 7 and iOS 9.
in your .m
delete #import "VC.h"
save .m and link your outlet again it work fine.
I used xCode 7 and iOS 9.
in your .m
delete #import "VC.h"
save .m and link your outlet again it work fine.
in your .m
add #import "VC.h"
save .m
Success story sharing
alias purgederiveddata='rm -rf ~/Library/Developer/Xcode/DerivedData/*'
to your ~/.bashrc to use the commandpurgederiveddata
to clear with one command