Swift開発でXcode6 Beta5にアップデートしたらたくさんコンパイルエラーになった





Xcode6 Beta4 から Xcode6 Beta5にアップデートしたらいくつかコンパイルエラーになったのでメモしておきます。
 
## init メソッドは override が必要になった

![WTDProfileTableViewCell_swift_—_Edited.png](https://qiita-image-store.s3.amazonaws.com/0/4943/f900f223-bf55-444b-a190-6738e694fd51.png "WTDProfileTableViewCell_swift_—_Edited.png")

>• Overrides of a designated initializer must be marked with the 'override' modifier. (17892845


## Does not implement its superclass's required members

![WTDProfileTableViewCell_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/5f6ff434-9d3a-ff2b-77f9-396c8875cf94.png "WTDProfileTableViewCell_swift.png")

以下を追加します。

```
required init(coder aDecoder: NSCoder!) {
  super.init(coder: aDecoder)
}
```

![WTDBackTableViewCell_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/0747efc5-cb79-bcd0-8ffd-7cbff275c671.png "WTDBackTableViewCell_swift.png")


> • The required modifier is written before every subclass implementation of a required 
initializer. Required initializers can be satisfied by automatically inherited initializers. 
(17892840)

### 参考

http://stackoverflow.com/a/25126384


## 配列にエレメントの追加

`+=`演算子でエレメントの追加ができなくなりました。`append`メソッドを利用します。

![WTDCommentsViewController_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/24eadecf-bbf9-7dd7-c4fc-c78f0c312ac1.png "WTDCommentsViewController_swift.png")

↓

![WTDCommentsViewController_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/2b2f3897-ba7e-a164-f9e6-4bca10ac2a6f.png "WTDCommentsViewController_swift.png")

`+=`演算子は配列の連結で利用するようになりました。

![AppDelegate_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/9960a38b-7fae-2111-f5da-653c41a7d69b.png "AppDelegate_swift.png")


>• The += operator on arrays only concatenates arrays, it does not append an element. This 
resolves ambiguity working with Any, AnyObject and related types. (17151420)

## nil チェック

![AppDelegate_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/b969df41-4f9a-ea7c-22a2-0207f58fd249.png "AppDelegate_swift.png")

↓

![AppDelegate_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/de6dd33d-606d-c908-8c9d-ea56263bdcf6.png "AppDelegate_swift.png")


>Optionals can now be compared to nil with == and !=, even if the underlying element is not 
Equatable. (17489239)

## Operator infix

`operator`と`infix`,`prefix`,`postfix`の記述の順番が逆になりました。

![WTDScraping_swift_—_Edited.png](https://qiita-image-store.s3.amazonaws.com/0/4943/9c9ecdd0-fb9f-4f3d-3e74-e2a904bb612f.png "WTDScraping_swift_—_Edited.png")

↓

![WTDScraping_swift_—_Edited.png](https://qiita-image-store.s3.amazonaws.com/0/4943/bd792d8d-738a-c2f5-e63c-70f05266af4c.png "WTDScraping_swift_—_Edited.png")

↓

![WTDScraping_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/4394f2f7-32a2-2833-d7b7-f8f6e8cf6f5c.png "WTDScraping_swift.png")


`@`の記述も不要になりました。

![AppDelegate_swift_—_Edited.png](https://qiita-image-store.s3.amazonaws.com/0/4943/6f30030d-51f0-2099-1a45-699adc520afe.png "AppDelegate_swift_—_Edited.png")



> • The @prefix, @infix, and @postfix attributes have been changed to declaration modifiers, 
so they are no longer spelled with an @ sign (now, prefix func (…)).


## @auto_closure

`@auto_closure`の記述は`@autoclosure`に変わりました。

![AppDelegate_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/29243600-b279-3a4f-9806-db481a1af82a.png "AppDelegate_swift.png")

>• The @auto_closure attribute has been renamed to @autoclosure. (16859927)

## UnsafePointer

`UnsafeConstPointer`と`UnsafePointer`は`UnsafePointer`と `UnsafeMutablePointer`に変更されました。

KVOの`observeValueForKeyPath`の実装において、引数の型が`UnsafePointer`の場合エラーになるので、`safeMutablePointer`に変更しました。

![WTDWebViewController_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/483728a9-f652-d0c9-ac39-1742f3c52588.png "WTDWebViewController_swift.png")

↓

![WTDWebViewController_swift.png](https://qiita-image-store.s3.amazonaws.com/0/4943/7d13462b-b578-699b-2364-a524ed1d51c5.png "WTDWebViewController_swift.png")

>• The UnsafeConstPointer and UnsafePointer types have been renamed to UnsafePointer
and UnsafeMutablePointer for consistency with Cocoa and to encourage immutability. The 
Autoreleasing and other pointers have been renamed for consistency as well. (17892766)

## その他

リリースノートには上記以外の変更点もたくさん記載されており、コンパイルエラーになる事象は他にもありそうです。