問題タブ [swift5.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
17 参照

ios - iPhone デバイスがサイレント/バイブレーション モードのときに、アプリケーションでオーディオ機能を有効にする

ビデオ プレーヤーを統合しましたが、オーディオまたはビデオの再生中に問題が発生しました。つまり、デバイスがサイレント モードまたはバイブレート モードの場合、サウンドがミュートされます。

これは、AVFoundation/AVKIt または Apple からの IOS デバイスのデフォルトの構成設定です。

Apple開発者サイトとStackoverflowのさまざまなソリューションを検索して、デバイスを呼び出しモードにするか、プレーヤー ビュー コントローラー クラスでコードを記述しました。

しかし、Audio Video 機能を使用するクラスが多数ある場合、すべてのビュー コントローラーで同じコードを何度も記述する必要があります。これはまったく良い習慣ではないと思います。

そこで、デバイスがサイレント モードかバイブレーション モードかにかかわらず、目的の結果を達成するための最適化された方法、つまりオーディオのミュートを解除する方法を共有します。

0 投票する
1 に答える
702 参照

swift - パブリッシュされた値の SwiftUI toggle() 関数は、Swift 5.2 での didSet のトリガーを停止しました

Xcode を 11.3 から 11.4 に更新したところ、SwiftUI で記述されたプロジェクトの動作が異なりました。toggle()以前はブール値の関数を呼び出してdidSetいて、プロパティ オブザーバーをトリガーしていましたが、機能しなくなりました。

というStateプロパティがあるとしisSettingOnます。私はこれを次のように呼んでいました:

isSettingOn.toggle()

didSetプロパティのオブザーバーをトリガーしていました。今、私がこれを呼び出す場合にのみ:

isSettingOn = true

それは働いています。

私のプロジェクトはすべてこの動作に基づいていますが、この変更により基本的にすべてが壊れました。私が実際にここで何か間違ったことをしているかどうかは誰にも分かりますか?

編集:

デモコードが追加されました: