SwiftのAnyObjectで質問です。


SwiftDataで下記の関数がありますが
public static func executeChange(sqlStr: String, withArgs: [AnyObject]) -> Int? {


var arrayDataAdd:AnyObject = ["test", 120];
SwiftData.executeChange( sql, withArgs: arrayDataAdd)

のように引数に指定したいのですが、エラーになります。
どう対応するのが良いのでしょうか?

ちなみに
SwiftData.executeChange( sql, withArgs: ["test", 120])
だと問題なく動作します。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/07/15 20:20:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:alfa-gadget No.1

回答回数254ベストアンサー獲得回数50

ポイント100pt

これでエラーは無くなると思います。

var arrayDataAdd = ["test", 120]
SwiftData.executeChange( sql, withArgs: arrayDataAdd)

executeChange メソッドの withArgs は AnyObject ではなく AnyObject の配列です。

  • id:taknt
    だから変数は ちゃんと型を意識して使ったほうがいいよ。
  • id:makocan
    すみません。
    自分がPHP開発との並行で行っていまして、
    PHPだと、DB更新時に、値を持った配列(データ型ばらばら)を渡すことが多く、この部分は統一したいのです。
    データ型を定義した構造体を渡せば、そこに入ってる値でDBが更新できるような仕組みが一番理想的なのですが、方法が見つからなくて。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません