This question already has answers here:
How to pass swift enum with #objc tag
(2 answers)
Closed 7 years ago.
I have created enum in swift. I want to set value to enum in objective C. I am unable to get enum value in Objective C. Gratitude for your help.
Just mark the enum by #objc like this:
#objc enum FitMode: Int {
case Clip, Crop, Scale
}
Related
This question already has answers here:
Get class name of object as string in Swift
(32 answers)
Closed 3 years ago.
I am using the following syntax to debug my Objective C code, getting the class name. What is the equivalent in SWIFT?
NSlog (#"Classe = %#",[self class]);
You can use print("Class = \(type(of: self))" in Swift.
This question already has an answer here:
Use objective-c method in swift seems crossing keyword of swift language
(1 answer)
Closed 6 years ago.
I am trying to use a method from Objective-C in Swift 3, but Swift 3 is translating the signature to something invalid for the compiler.
- (void)doWhenReady:(void(^)(void))block onDone:(ErrorCallback)callback;
Gets translated to
do(whenReady: ()->(), onDone: ErrorCallback)
Where do becomes the keyword do and invalid syntax for the method. What solutions do I have to fix this without refactoring the Objective-C code?
In the Swift expression do(whenReady..., write do with backtick characters around it.
This question already has answers here:
Declaring instance variables in iOS - Objective-C
(2 answers)
Closed 6 years ago.
I am looking to do something like this:
#interface Player : NSObject
#properties int hitPoints = 200,
mana = 100;
#end
So that every time I initiate an object of class Player, that object will have
those variables with those specific values.
Do I need to declare this in the #implementation section?
I know that i can set those variables in the init faction
but i wonder if there is another way.
I am new to Objective C, and OOP in general.
If you want your properties to be public you would want to declare them in your header file and then, as you said, in the init method of your implementation file you could give them their default values.
This question already has answers here:
What does a colon in a struct declaration mean, such as :1, :7, :16, or :32?
(3 answers)
Closed 7 years ago.
I want to understand the syntax of the struct which i have seen some where. Can some please explain the meaning of unsigned int xyz:1;. Is it just assigning default value to a variable xyz? BTW this code is in Objective C.
struct
{
unsigned int xyz:1;
} testStruct;
It's a bit field. You are telling the structure that you will only be using one bit of xyz.
This allows the compiler to make packing optimisations.
This question already has answers here:
How can I call a method in Objective-C?
(8 answers)
Closed 9 years ago.
I am just starting out in ios and am trying to make user defined functions...
my code:
-(void) testFunction{
//has self. calls
}
-(IBAction)button:(id)sender {
testFunction();
}
I get the warning: Implicit declaration of function is invalid in C99
What am I doing wrong? Or what do I have to add to my code?
In Objective-C you cant write testFunction(). You send 'messages' and you can do this via
[self testFunction]