What is the difference between where an asterisk "*" is in XCode? [duplicate] - xcode

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Placement of the asterisk in Objective-C
I'm new to XCode, coming from C#. What is the difference between the two following syntax examples, specifically the location of the asterisk?
UITabBarItem* tabBarItem
and
UITabBarItem *tabBarItem
When do you use one syntax over the other?

Both mean the same. There is no difference between the two and it is a matter of preference. I personally prefer the second way because it looks cleaner when have multiple pointers.
UITabBarItem *tabBarItemOne, *tabBarItemTwo ; // Looks cleaner :)
than
UITabBarItem* tabBarItemOne, *tabBarItemTwo ;

There is no difference, just preference. Both declare a pointer to a UITabBarItem.

Related

Reusing similar code in Golang without generics [duplicate]

This question already has answers here:
Generic hashmap in Go
(3 answers)
Closed 8 months ago.
Given that I have a MyMap variable of type
*map[uuid.UUID][]*Thing
and a piece of code like this:
h.MyMap[id] = append(h.MyMap[id], &thingA)
// other stuff with MyMap like this, later:
h.MyMapp[id][k] = &thingB
// and so on... the actual code is way more complex
and an identical code like above, except the fact it uses a map of type:
*map[int64][]*Thing
Is there a Golang way to DRY it and write a helper that does the similar code in one place?
Thank you.
[I]s there a Golang way to DRY it and write a helper that does the similar code in one place?
No.

GoLang: Semantic Meaning of a Property Wrapped in Parenthesis? [duplicate]

This question already has answers here:
What is this "err.(*exec.ExitError)" thing in Go code? [duplicate]
(2 answers)
What is the meaning of "dot parenthesis" syntax? [duplicate]
(1 answer)
Closed 5 years ago.
Go Newb here -- I've encountered the following bit of Go code that I didn't write
if tc, ok := tng.(ThingClasser); ok {
//... do some stuff ...
}
I won't understand the semantics of tng.(ThingClasser).
In some ways this looks like a method call -- i.e. there are two variables (ec, ok) sitting there ready to accept multiple return values.
However, tng.(ThingClasser) itself looks like its a property access, not a method call.
However however, the parens around ThingClasser are a wrinkle I've never seen before. Also, if it matters, the ThingClasser symbol is defined elsewhere in this project as an interface, so I think maybe this is some syntactic sugar around an does this implement an interface -- but then the two return values confused me.
Googling hasn't turned up anything concrete, but this is one of those hard things to google for.
Does anyone here know what this call/syntax is in GoLang, and possible point me at the relevant manual pages so I can RTFM?
It's a type assertion. The returned values are 1) the object, converted to the given type; and 2) a boolean indicating if the conversion was successful. ThingClasser is the type being converted to. Documentation can be found here: https://golang.org/ref/spec#Type_assertions

Uncommon Ruby syntax <<ABC – what does it accomplish? [duplicate]

This question already has answers here:
What does <<-CONSTANT do?
(3 answers)
Closed 6 years ago.
Just found this piece of code in a Google Ruby API client on Github.
NOT_FOUND_ERROR = <<END
Could not load the default credentials. Browse to
https://developers.google.com/accounts/docs/application-default-credentials
for more information
END
I never saw it and tested it in the console:
>> NOT_FOUND_ERROR = <<END
blabla
END
=> "blabla\n"
So basically it is a weird way to create a string? What's the motivation for using this syntax rather than NOT_FOUND_ERROR = "blabla\n" ?
EDIT: As this question was marked with "possible duplicate" I want to explain why it is not just a dup. The question that is a possible duplicate simply asks what a certain ruby script does. This Ruby script also includes the <<ABC syntax and this obviously is the core of the question, but it is not really helpful because it is hard to find. Besides that, I am going further and ask for the motivation to use this notation over creating a normal string.
It is HEREDOC. You can read more about it here(wiki) and here(Ruby instances). Usually heredocs used for more readability of multiline text.

Dart v1.8: new feature enum [duplicate]

This question already has answers here:
How can I build an enum with Dart? [duplicate]
(4 answers)
Closed 8 years ago.
A simple question here :) I'm really happy to see a new feature in the dart language. But I just realized that I kind of never use enumeration.I don't know if there is a discussion somewhere about that but.
What is the pros and cons of this feature in terms of code writing (seems shorter), performance,etc?
Cheers
If I understand it correctly an enum is like a class with const members and some useful methods. Given that cost members are resolved by the compiler using an enum should not incur in any performance hit.
In terms of "code writing" enums are good candidates to replace classic const or static enumerations or, even better, hard-coded constants.

Sass inserting an unwanted space in formula [duplicate]

This question already has answers here:
Adding a unit to a number in Sass
(2 answers)
Closed 6 years ago.
Simple one this (hopefully with a simple solution).
Sass is compiling this....
font-size:(30/13)em;
into this....
font-size: 2.30769 em;
The space before the em makes it invalid and Chrome ignores it.
Any ideas?
(oh and before anybody asks why I'm dividing one number by another, I've simplified a formula to make the question simpler, normally there would be variables in there).
Hmm, I think you can use:
font-size:(30em/13);
to fix this. (At least, that's what compiles properly in Sass for me.) Although, if you're using variables, that could change things (if you can't have the em inside of the variable).
In which case, you could try:
font-size:$var*1em;
Which works out when Sass compiles it on my machine.

Resources