2016-09-26 57 views
2

のiOSクイックスタートに変換した後、失敗:Xcodeの8で https://developers.google.com/sheets/quickstart/ios?ver=swiftiOS版GoogleスプレッドシートAPIのためのクイックスタートは、GoogleスプレッドシートAPIのためにスウィフト3

コードがGTLRSheets_ValueRangeからシートの値を取得するためにスウィフト2が、故障で動作します。

は、問題を再現:

  1. は、プロジェクト、ポッドを作成するための指示に従い、コードをコピー、貼り付けます。 「スイフトカレント構文に...」セット「はい」を選択し、メニューの編集中/

  2. は、アプリケーションの動作を確認して変換する -

  3. プロジェクトにおける「使用レガシースウィフト言語バージョン」をオンに設定を構築良い。

  4. プロジェクトにおける「使用レガシースウィフト言語バージョン」オフスイッチ設定を構築 - 「いいえ」に設定して選択し、「スイフトカレント構文に...」メニューを編集中/変換

  5. 変換を適用するには、

    を変更します
  6. アプリケーションが起動していることを確認し、Googleアカウントに認証し、メソッド "displayResultWithTicket"を呼び出します。

期待される結果:

以下の命令が

結果オブジェクトから値を持つ変数 "行" を移入 "!聞かせて行= result.values"

実際の結果:

以下命令が

"result.values" 

しかし次の命令をエラーをスローは、期待値を提供する:

result.range 
result.majorDimension 

Iは、内部構造に(結果内の値を確認することができ)。

同じ例がAndroidでもうまく機能します。

UPD:付加された誤りのある画像および変数を見て:

Error and variable list

このコードで、これまでに見出さスイフト2及び3のバージョン間の唯一の違い - フィールド「の値は」からのObjective-Cから変換されます"NSArray < NSArray *> *" to "[[AnyObject]]?" (スイフト2)と「[Any Any]」? (スイフト3):SE-0116

enter image description here

UPD-2:命令のエラーポイント。以下の操作に関連しているようだ。そのような早い段階で報告されたバグをテストしました。再現されません。

Swift._arrayForceCast <A, B> (Swift.Array<A>) -> Swift.Array<B> 

enter image description here

enter image description here

enter image description here

+0

を回避するようだ私はまた、このGoogleの例を使用しようとしていると私は同じエラーを取得しています。あなたはそれを理解しましたか? – jovanjovanovic

+0

いいえ、私はこのプロジェクトのためにSwift 2にロールバックしました。私はGoogleのトラッカーに目を覚まし、アップルの開発者フォーラムにこの質問を投稿しました。これまでのフィードバックはありません。 –

答えて

0

たぶん、このブログ、Converting between Result, Optionals, and Swift 2 errorsは、役立つかもしれません。エラーを処理する方法について説明しました。 Swift 2では、関数がエラーをスローし、呼び出し元が関数を捕捉できる新しいエラー処理モデルが導入されています。これは、ブリッジされたObjective-CクラスのNSErrorを置き換えます。このGitHub threadに基づいて、操作が失敗する可能性がある場合は常にResultを使用できます。生のJSON値をキャスト

+0

ありがとうございます。フレームワークはよさそうだ。あなたが参照した記事を読んだが、私はこの特定の問題を理解する方法を見つけられなかった。 –

1

はこのバグ

guard let rows = result.jsonValue(forKey: "values") as? [[String]] else 
{ 
    // Shouldn't happen, but handle error case just in case 
} 

// Use rows: [[String]] 
+0

私のために働く。どうもありがとうございました! –

関連する問題