ScaryBug Tutorial extra argument in title call - xcode

I'm trying to do a tutorial I found online and I cannot for the life of me get rid of this error. Simple code but I'm not sure what I'm doing wrong. Please see screenshot.
https://www.dropbox.com/s/6ouddrdt7k5ls89/Screenshot%202015-07-02%2019.37.04.png?dl=0
edit: Additional screenshot of model
https://www.dropbox.com/s/x23qnxml6vo3k4p/Screenshot%202015-07-02%2020.17.36.png?dl=0
Thank you

Your mistake is a really silly one and easy to miss, you have declared the class twice. This is your code:
class ScaryBugDoc : NSObject {
class ScaryBugDoc: NSObject {
// Your implementation is here.
}
}
Just simply change it to a single class definition

Related

NSAccessibilityRadioButton implementation in Swift 4

I'm trying to make an NSAccessibilityRadioButton element, but I'm getting ... let's say an unexpected error. Here is what I'm doing
I have a base class of NSAccessibilityElement:
class AccessibilityElementPrototype: NSAccessibilityElement {
.
.
.
}
I have another class, which should implement NSAccessibilityRadioButton protocol like this:
class AccessibilityElementTab: AccessibilityElementPrototype, NSAccessibilityRadioButton {
func accessibilityValue() -> NSNumber? {
...
}
}
The problem is that I'm getting the following error:
Method 'accessibilityValue()' with Objective-C selector 'accessibilityValue' conflicts with method 'accessibilityValue()' from superclass 'NSAccessibilityElement' with the same Objective-C selector
If someone has already encountered such a problem and has solution, please share.
I'm really happy you asked this, because I thought I was crazy.
It appears, unbelievably, that some of the NSAccessiblity protocols are broken in Swift. I've opened a bug with Apple, and I encourage you do the same. In the mean time, it's fairly easy to work around this, just inconvenient.
You can directly use NSView methods to achieve the same result:
view.setAccessibilityRole(...)
view.setAccessibilityElement(true)
#objc override func accessibilityValue() -> Any? {
...
}
Don't forget about setting the accessibiltyElement property to true. I didn't realize that was necessary at first, and couldn't figure out why nothing was showing up. Accessibility Inspector's Show Ignored Elements helped me there.

XCode 7.3.1 very odd autocomplete error

Something odd has started happening with a new Swift project I've created
You can see that I have a class called ViewController which is of type UIViewController
I have a function called someFunction that takes an input String? and give a String of "ABCDEFG". Simple right?
Well when I try to assign a class variable the output of that function you can see that autocomplete thinks someFunction requires (self: ViewController) input and it should instead take a String? input
Does anyone know what is happening here? It's driving me crazy
So it turns out I derped pretty hard.
I was trying to utilize a member only function from within a scope where the class hadn't been instantiated.
Instantiate your classes first kids...

Call to undefined method "Builder::getAfterFilters" while upgrading to Laravel 4

I try to upgrade from Laravel 3 to 4 but i get this error everywhere
Call to undefined method
Illuminate\Database\Query\Builder::getAfterFilters()
Someone know where this can come ?
I had this error too so I'll just post my observations here. It can always help someone !
It appears that getAfterFilters() is a method that is required for all controllers in L4.
If the error says it's not defined, you probably forgot to extend BaseController in your class.
Knowing that, the obvious fix would be to extend BaseController... but you don't nececarly have to if it's not needed.
In my case, my class had to be a valid controller because of a very stupid reason. I was using the following route syntax :
Route::get('sse', 'SSE#deamon');
SSE was not extending BaseController (didn't need to imho)
But this route syntax requires you to use a controller class that extends BaseController... so I changed it for:
Route::get('sse', [function() {
SSE::deamon();
}]);
and it now works without the missing getAfterFilters() error !
Okay, Here is one more thing that might happen...
the method you are running on your controller might not be defined correctly in the route... for example, this is what I did myself:
Route::get('vendors/getData', 'Vendors#getData');
Route::resource("vendors","VendorsController");
which should have been
Route::get('vendors/getData', 'VendorsController#getData');
Route::resource("vendors","VendorsController");
instead! So basically what Amaud said is perfect! my getData function was not extending base controller as I tried running the function of the model instead of the controller! You might want to check that out before pulling your hair out!
I had the same problem. In routes.php, I missed out the Controller word.
My mistake
Route::get('/list-users/{status?}/{page?}', 'User#listUsers');
Should be
Route::get('/list-users/{status?}/{page?}', 'UserController#listUsers');

NSInvocation problems

So I am running into some issues when I am trying to load information from a file.
myMutableArray=[[NSKeyedUnarchiver unarchiveObjectWithFile:dataFile]retain];
This is the line that gives me the NSinvocation problems
* NSInvocation: warning: object 0xf9f500 of class 'myClass' does not implement methodSignatureForSelector: -- trouble ahead
* NSInvocation: warning: object 0xf9f500 of class 'myClass' does not implement doesNotRecognizeSelector: -- abort
I have looked through other questions and other sites to try and find an answer.myClass does inherit from NSObject, and my customer view controller inherits from UIViewController. My customer view controller implements the code above. The save file I am loading from does exist. Not sure what I need to do for this, any help would be appreciated thanks!
So I had an issue within myClass that I was not encoding something but I was trying to decode it after. I just had to add a line of code and delete my old save file.

How to programmatically setObjectClass for NSArrayController

I'm having a problem with what should be a very simple thing. I want to create an NSArrayController and specify the class it manages. Problem is, I can't figure out the correct way to specify the Class in the setObjectClass method. I want to do the following:
[projectArrayController setObjectClass:SKHProject];
SKHProject is a class that I've imported in the implementation file. I keep getting the "Expected expression before 'SKHProject'" error, but I can't figure out the correct expression. Where am I going wrong?
Do
[projectArrayController setObjectClass:[SKHProject class]];
!
Just found it
[projectArrayController setObjectClass:[SKHProject class]];
Thanks anyway
You can only use a class name as the receiver of a message; you can't use it in any other context. So, to pass the Class somewhere, send it a message asking it for itself: [SKHProjectClass class].

Resources