Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

2016-03-01から1ヶ月間の記事一覧

C/C++/ObjC メモリ破壊系バグのつぶし方 その1

メモリ破壊系バグとは メモリ破壊系バグとは、プログラマーが想定して割り当てたメモリ領域のサイズを超えた部分にデータを書き込んでしまい、 プログラムが意図通り動作しなくなるバグのことです。 このバグは以下の特徴を持っています。 再現性が100%では…

swift objc_overrelease_during_dealloc_error

objc_overrelease_during_dealloc_error というエラーでクラッシュしていたんだが、 takeRetainedValue() を takeUnretainedValue() に変えたら落ちなくなった。 retainしすぎていたということか。 swiftでのUnmagedはイマイチ理解できていない。

try! swift 参加レポート

3/2-4 渋谷マークシティにて行われたtry!swiftカンファレンス http://www.tryswiftconf.com に参加してきましたので簡単な感想です。 スピーカー33名(日本人2割)、参加者約500名(日本人8割) という規模のswift言語やApple関連ソフトウェアに関する コミュニ…

swift タイプエイリアス

Type Aliases typealias AudioSample = UInt16 プロトコルのAssociated Typeには特定のプロトコルに準拠することという条件を付けられる。 protocol PBProtocol { typealias PBError: IntegerType } class PBClass: PBProtocol { typealias PBError = Int } …

swift 列挙型

enum CompassPoint { case North case South case East case West } var directionToHead = CompassPoint.West directionToHead = .East directionToHeadは一旦、varで代入されて型が固定されると、次の行以降はdot表現が使える。 Associated Values enum Ba…

swiftで定義した構造体、列挙体はObjective-Cでは使えない

swiftで定義した構造体、列挙体はObjective-Cでは使えないようだ。 使えないもののリストはこちら。 Generics Tuples Enumerations defined in Swift without Int raw value type Structures defined in Swift Top-level functions defined in Swift Global …

swift ジェネリクス、プロトコル

struct Stack<Element> { var items = [Element]() mutating func push(item: Element) { items.append(item) } mutating func pop() -> Element { return items.removeLast() } } このジェネリック構造体を拡張してみる。 ジェネリック型を拡張する際は、extensionの</element>…

swift クロージャ

swiftを久々に触ったら、クロージャの文法を完全に忘れていたので、メモしておく。 Closure Expression Syntax クロージャはこの形をしている。 { (parameters) -> return type in statements } 例えば、このように使う。 let names = ["Chris", "Alex", "Ew…