Full Archive The high level overview of all the articles on the site.
Go言語には、C言語やJavaにおける「enum(列挙型)」のような機能がありません。 Go言語をやり始めて最初にこれを知った時、 え嘘でしょ? と言いたくなりました。 が、実際には 定数定義とiotaを利用することでC言語における列挙型に近い振る舞いを実現することが可能です。 例えば、Red, Blue, Yellowを持つColorというenumを作る場合は以下のように定義します。 type Color int const ( Red Color = iota Blue Yellow ) で、iotaって何ですかって話なんですが。 識別子iotaは、定数宣言文(const)内で使用される、型なしの連続する整数定数を表します。 本定数は予約語constが現れた時に0に初期化されて、各定数定義の後に1ずつインクリメントされます。 ちなみに読み方は「イオタ」。 例えば、iotaを使って定数(
One of the most common patterns I see in software design with Objective-C (and sometimes Swift), is the use of enumeration types (enum) as configurations for a class. For example, passing an enum to a UIView to style it in a certain way. In this article, I explain why I think this is an anti-pattern and provide a more robust, modular, and extensible approach to solving this problem. The configurat
UPDATE: now conforms to Swift 2.1b2 Following on from the previous post, here’s some more on building collections from enums. For our book on Swift, we wrote a simple linked list example to use in a section on conforming to CollectionType. Prior to indirect, it was written using a box, and I wanted to update it. But I hit a snag, of which more later. First, a bit about lists and value types. Here
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。 アップルの新プログラミング言語「Swift」をちょっとずついじってるんですが、列挙型とswitch文がなかなか便利になっていたので紹介したいと思います! Objective-Cの列挙型 Objective-Cにおける列挙型の定義は、以下のように書きます。 typedef enum : NSUInteger { ColorTypeRed, ColorTypeGreen, ColorTypeBlue, } ColorType; 例えば以下のように2つの列挙型を定義すると、BackgroundColorのRed, Green, Blueは二重定義ということで「Redefinition of enumerator ‘Red’」などのエラーが出てしまいます。 typedef
下記の方法では不十分(認識されない時がある)なことがわかりました。 touchesBeganでタップ開始位置を覚えておき、Endedで離した位置を使って検出するとよいです。 近いうちに修正しておきます。 縦にフリックされたか、横にフリックされたかを検出します。 サンプルでは右左上下しか返しませんが、改良して使ってください。 ヘッダ(.h) typedef enum { EFlickedNone = 0, // フリックされていない EFlickedLeft, EFlickedRight, EFlickedUp, EFlickedDown } EFlicked; #define kFlickedDist 12.0 //この値は調整する ソース(.m) // フリック判定 -(EFlicked)wasFlicked:(UITouch *)touch { CGPoint endPoint = [
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く