2016-09-10 11 views
0

は私がエラーを持っている私は、迅速な3スウィフト3解析クエリ

var nicknames = [String]() 
var messages = NSArray() 
var selectedmsg:PFObject! 

query.findObjectsInBackground{ 
(objects, error) -> Void in 

if error == nil 
{ 
messages = objects! ***Cannot assign value of type '[PFObject]?' to type 'NSArray'*** 

for object in objects! { 

    self.nicknames.append(object.object(forKey: "userpointer")!.object(forKey: "nickname") as! String) ***Value of type 'Any' has no member 'object'*** 
} 


self.selectedmsg = messages.object(at: (indexPath as NSIndexPath).row) as! PFObject 

self.selectedmsg["file"]!.getDataInBackground{ ***Value of type 'Any' has no member 'getDataInBackground'*** 

に迅速2を更新した後のコードは、2迅速に良いことができます働いていた

***の間でコード内の3個のエラーがあります誰かが速やかに同じコードを修正するために私を助けてください3 助けていただければ幸いです。

+0

なぜこのウェブサイトにもう答えがないのですか? – Salah

+0

どのように解決しましたか?私は同じ問題を抱えています。これはあなたの2番目のエラーですか? – saner

+0

@saner pastebin.comにエラーのあるコードを表示 – Salah

答えて

1

いつものように、はあなたしない限り、スウィフトにNSArrayを使用していません選択肢はありません

NSArrayはタイプ情報を提供しないため、コンパイラは実際にPFObjectオブジェクトを含んでいることを知らせません。

この場合、選択肢があります。これは、わずか3つのすべてのエラーを解決する変更messages

var messages = [PFObject]() 

として宣言することで、コンパイラを啓発。

+0

ありがとう、それは最初のエラーが修正されました。しかし、私はまだvarメッセージがpfobjectに変更されているので、エラーがあります。これを見てください:https://i.gyazo.com/bb014d1d308b57c67b8bf05714f54492.png – Salah

+0

'Any'の値を適切な型にキャストしなければなりません。キーサブスクリプションが動作しない場合は、 'objectForKey'を試してください – vadian

+0

あなたは答えを編集してコードで例を示してください。NSArrayで行ったように各行を取る方法は?それは役に立つでしょう。 – Salah

0

私は同じ問題を抱えていました。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

とすべてがseguesを準備

::私はスウィフト3に

作業から私のアプリを修正するためにAppDelegateを変更しなければならなかった

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
+0

ありがとう、私はそのfuncアプリケーションに変更しましたが、それと同じエラーです。私はappelegateのデフォルトは私はそこにfuncsを追加していないので、セグの準備について知りません – Salah

関連する問題