2017-01-31 6 views
0

私はselectedMessage MSMessage以内に詳細にアクセスしようとしているが...しかし、それはエラーになりますIMessageがアプリケーションにはメンバーのキャプションを持っていません? ' 「MSMessageLayoutは、私はキャプションにアクセスしようとする

を一切メンバーのキャプション」を持っていないこれは私がそれにアクセスしようとする方法である:

self.conversation?.selectedMessage?.layout.caption 

は、このようなメッセージにアクセスすることも可能ですか?私はselectedMessageがアプリケーションが送信したメッセージであればnon-nilであると思っていました。アプリケーションが送信したメッセージの場合は、キャプションが付きます(メッセージには常にキャプションが付くため)。

****編集****

それはキャプション属性を持っているので、私はMSMessageTemplateLayoutとしてレイアウトをキャストしてみました:

let layout = self.conversation?.selectedMessage?.layout as! MSMessageTemplateLayout 

が、私はことをやったとき、私はランタイムアンラップを得ましたa nil ...私が選択したメッセージを知っていて、送信したレイアウトはありますが。

答えて

0

だから、Appleが意図的にレイアウトnilを作るように見えます...それは迷惑なんだ:https://forums.developer.apple.com/thread/53174

しかし、私は私が "で「レイアウト」属性に送っ同じメッセージを格納することで、回避策を見つけたと思いますurl '属性を使用します。 MSMessageのこの 'url'属性は、そのままでアクセス可能です。

関連する問題