環境
macOS:Catalina 10.15.6
Xcode:12.0
Swift:5.3
筆者について
趣味でswiftを勉強中の只のエンジニアです。仕事では全く使っていません。
swiftは2015年頃に一度勉強していて、最近再燃して勉強し直しています。
1.Stack Viewの制約がうまくつけられない
spacingの値に0以外の値が入っていると制約に影響が出てしまうようなので、
spacingには0を入力した方が良いです(制約に影響が出ない箇所なら可)。

2.新しいクラスを作成しプロトコルを継承すると、警告が出る。
Cannot declare conformance to 'NSObjectProtocol' in Swift;
と言って怒られます。
この場合、import Foundationした上で、NSObjectを継承すれば解決です。
私の場合、import Foundationを削除した上で試行錯誤していたので、大変でした。
3.ビルドエラー
Multiple commands produce XXXが発生。
詳しく見るとTarget [アプリ名] has copy command from XXXとTarget [アプリ名] has link command with output XXXが発生。
少し調べてみると何かが衝突しているようだった。.swiftファイルをXCode上で手動コピーしたのがまずかったのかと思う。
よく分からなかったので、プロジェクトを作り直すことで解決した。
XXX.swiftとMain.storyboardをFinder上で、旧プロジェクトフォルダから新プロジェクトフォルダへコピーすることで解決した。
Main.storyboardの場所が一瞬分からなかったが、Finder上では.../[アプリ名]/[アプリ名]/Base.Iproj/の中にある。
4.オブジェクトを比率で上手いこと調整したい(高さ40%のTableViewなど)
こちらのサイトが参考になります。
5.テキストが改行されない
改行コードを入れて任意の箇所で改行させたいが、改行されない。
¥nではどうも効かないようで、\nと入力する必要があった。
\はoptionキーを押しながら¥を押下で入力できる。
6..swiftファイルへOutlet接続、Actionができない
遷移先など新しくViewControllerを作成し、最初からあるViewControllerと同じようにびよーんと接続をしようとしたが、Object項目がExitしか選択できない。

Storyboard上で対象のViewControllerを選択。
Identity InspectorのCustom ClassからViewControllerに対応するクラスを選択する。
(画像は修正後)

7.TableViewを外出しできない
ViewControllerの肥大化を防ぐ為、UITableViewDelegate、UITableViewDataSourceを継承したクラスを別途作成し、そのクラスに処理を委譲することができる。
この場合、気をつける点がある。
委譲する先のクラスのインスタンスはviewDidLoad()の外で生成する必要がある。
まあ、少し考えてみれば当然だが。
委譲先をViewController(自分)にする場合は、viewDidLoad()の中でインスタンス生成しても問題なく動く。
本題とずれるが、タイミングなどの問題でインスタンス生成をviewDidLoad()の中でやりたい場合(何かの処理の後にしたい場合)、viewDidLoad()の外側で変数宣言だけしておき、viewDidLoad()の中で代入すれば問題ない。
8.ビルド時にCommand CompileAssetCatalog failed with a nonzero exit codeが発生
私の場合複数の画像ファイルを使用しており、数十枚程度ならエラーは出なかったが、ある1枚のファイルを追加するとエラーが発生、という事象が発生した。
調べても原因が分からなかった(OSとXCodeは最新化したら解決するという記事もあったが解決しなかった)。
ひとつ心当たりがあって、pngファイルをjpgに変換した画像をAssets.xcassetsに追加していたのがマズいのではないかと思い、そのままpngで保存すると、大丈夫なようだった。
使用している画像ファイルが多く、最終的に解決しているか不明である為、参考程度にして頂きたい。