現在Swiftにて、写真フォルダ内のアルバム名の一覧を取得しようとしています。
ただうまくいかず、ご教授いただきたく、ご質問させていただきました。

下記のコードだと、album.localizedTitle

Argument type 'String?!' does not conform to expected type 'AnyObject'

というエラーが表示されてしまいます。

class readPhotoAlbum {

    static var albumList: NSMutableArray!

    static func createAlbumList(){

        let list = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.Album, subtype: PHAssetCollectionSubtype.Any, options:nil)

        list.enumerateObjectsUsingBlock { (album, index, isStop) -> Void in
            albumList.addObject(album.localizedTitle)
        }
    }
}

下記のようにalbum.localizedTitle!!とするとそのエラーは表示されなくなりますが、
ビルド途中で

fatal error: unexpectedly found nil while unwrapping an Optical value

というメッセージと共に落ちてしまいます。
breakpointを設定してみてみるとalbumList.addObject(album.localizedTitle!!)の行で止まってしまっているようです。

class readPhotoAlbum {

    static var albumList: NSMutableArray!

    static func createAlbumList(){

        let list = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.Album, subtype: PHAssetCollectionSubtype.Any, options:nil)

        list.enumerateObjectsUsingBlock { (album, index, isStop) -> Void in
            albumList.addObject(album.localizedTitle!!)
        }
    }
}

なお、私の環境はXcode 7.0.1,端末はiOS9.0.2になります。

ちなみに、上記のコードを書く際に参考にさせていただいているのは、このページです。

よろしくお願い致します。

※追記
kishikawaさん、Harawoさんのコメントを参考に、
下記に修正したところ、無事アルバム名の取得をすることができました。
ありがとうございます。

class readPhotoAlbum {

    static var albumList = NSMutableArray()

    static func createAlbumList(){

        let list = PHAssetCollection.fetchAssetCollectionsWithType(PHAssetCollectionType.Album, subtype: PHAssetCollectionSubtype.Any, options:nil)

        list.enumerateObjectsUsingBlock { (album, index, isStop) -> Void in
            if let album = album as? PHCollection { // PHCollectionにキャスト
                if let localizedTitle = album.localizedTitle { // localizedTitleはnilの可能性がある
                    albumList.addObject(localizedTitle)
                }
            }
        }
    }
}