0

私は新しいユーザーで、昨日は動的セルを含むテーブルビューを使用して、基本的なマスター/詳細アプリが正しく機能していました。しかし、XcodeストーリーボードとMonoDevelopの間のリンクを少し編集した後、部分的に壊れているようです。テーブルビューセルのスタイルを変更しています(たとえば、アクセサリの追加または削除、スタイルの「基本」から「左詳細」への変更)が、コードを実行してもこれらの変更は影響しません。さらに重要なことに、アプリを実行すると、セルは静的であり、Xcodeに示されている動的コンテンツではありません。MonoDevelopでストーリーボードの内容をXML形式で確認しましたが、予想どおりに変更されています。接続のすべてが壊れているわけではありません。たとえば、ナビゲーションバーにボタンを追加すると、アプリを実行したときに正しく表示されます。助けてください!

4

1 に答える 1

0

さらに実験を重ねた結果 (そしてストーリーボードをゼロから再構築する必要がありました)、MonoDevelop にバグが見つかったと思います。次のように再現可能です。

  1. シンプルな作業アプリ ( 「tasky」サンプルを使用) を取り、ストーリーボードを開きます。

  2. Xcode で、ルート ビュー コントローラー テーブル ビューからテーブル ビュー セルを削除します。

  3. 「おっと、それを削除したくなかった」と思うので、保存せずにXcodeを閉じます(これには赤い「LED」ボタンを使用しました)-これは、プロンプトがないという点で、MonoDevelopではなくXcodeのバグのようです閉じる前に保存するかどうかを尋ねます。

  4. MonoDevelop ソリューション ビューからストーリーボードを再度開きます。テーブル ビューのセルは削除されたままです。Xcodeが保存されていないため、削除されるべきではありません。

  5. ここで、以前とまったく同じように、もう一度セルを追加してみてください。Xcode では完全に正しいように見え、正しいセグエがあり、プロトタイプ セルとしてマークされていても、コードを実行すると正しく動作しません。

  6. さらに、基本的なセルが GetCell によって返されるようにコードを追加すると (DequeueReusableCell は現在セルを返さないため)、詳細ビューのセルの形式が固まってしまいます。スタイルを「Right Detail」に変更するなどです。 XCodeでは完全に問題ないように見えますが、アプリを実行しても影響はありません。

さて、実際にはコードが何らかの形で悪用されているだけなのに、新しいユーザーがコードにバグを見つけたと考えるのは簡単すぎることを私は知っています。したがって、これを Apple や Xamarin に報告する前に、他の誰かが私の調査結果を確認できるとよいでしょう。もし私が正しければ、それは重大なバグです。なぜなら、私が見つけた唯一の解決策は、何らかのソース コード管理を持っていない場合、ストーリーボードを最初から再構築することだからです。

ありがとう

于 2012-07-01T22:20:05.050 に答える