[proofplan]
Both parts follow from a single principle: a pointwise convergent sequence of bounded linear maps from a Banach space into a normed space is uniformly bounded, and its pointwise limit has norm at most the liminf of the operator norms. Part (i) reduces to this by viewing each $x_n$ as the bounded linear functional $\hat{x}_n \in X^{**} = \mathcal{L}(X^*, \mathbb{R})$ via the canonical embedding, using completeness of the dual space $X^*$. Part (ii) applies the principle directly to $f_n \in \mathcal{L}(X, \mathbb{R})$, using completeness of $X$.
[/proofplan]
[step:Establish a Banach-Steinhaus consequence for pointwise convergent sequences]
We record the operator-theoretic fact that drives both parts.
[claim:Pointwise limits in $\mathcal{L}(Y, Z)$ are bounded with lower-semicontinuous norm]
Let $Y$ be a Banach space, $Z$ a normed space, and $(T_n)_{n \in \mathbb{N}}$ a sequence in $\mathcal{L}(Y, Z)$ such that $T_n y \to T y$ in $Z$ for every $y \in Y$, where $T : Y \to Z$ is a (necessarily linear) map. Then
\begin{align*}
\sup_{n \in \mathbb{N}} \|T_n\|_{\mathcal{L}(Y,Z)} &< \infty, \\
T &\in \mathcal{L}(Y, Z), \\
\|T\|_{\mathcal{L}(Y,Z)} &\leq \liminf_{n \to \infty} \|T_n\|_{\mathcal{L}(Y,Z)}.
\end{align*}
[/claim]
[proof]
For each $y \in Y$, the sequence $(T_n y)$ converges in $Z$, hence is bounded. So the family $(T_n)$ is pointwise bounded on the Banach space $Y$. By the **Banach-Steinhaus Theorem** (Uniform Boundedness Principle), $M := \sup_n \|T_n\|_{\mathcal{L}(Y,Z)} < \infty$. Linearity of $T$ is inherited as the pointwise limit of linear maps. For any $y \in Y$,
\begin{align*}
\|Ty\|_Z = \lim_{n \to \infty} \|T_n y\|_Z \leq \liminf_{n \to \infty} \|T_n\|_{\mathcal{L}(Y,Z)} \cdot \|y\|_Y.
\end{align*}
Taking the supremum over $y$ in the unit ball of $Y$ gives $\|T\|_{\mathcal{L}(Y,Z)} \leq \liminf_n \|T_n\|_{\mathcal{L}(Y,Z)} \leq M$, so $T \in \mathcal{L}(Y, Z)$.
[/proof]
[/step]
[step:Prove (i) by transferring to the bidual via the canonical embedding]
Let $J : X \to X^{**}$ denote the canonical isometric embedding $x \mapsto \hat{x}$, where $\hat{x}(f) = f(x)$ for $f \in X^*$. Recall $\|J(x)\|_{X^{**}} = \|x\|_X$.
Suppose $x_n \rightharpoonup x$ in $X$. By definition of weak convergence, $f(x_n) \to f(x)$ for every $f \in X^*$, i.e.\ $\hat{x}_n(f) \to \hat{x}(f)$ for every $f \in X^*$. Hence the sequence $(\hat{x}_n)$ in $\mathcal{L}(X^*, \mathbb{R})$ converges pointwise on $X^*$ to $\hat{x}$.
Since $X^*$ is a dual space, it is complete with respect to the operator norm; thus $X^*$ is a Banach space. We apply the Claim with $Y = X^*$, $Z = \mathbb{R}$, and $T_n = \hat{x}_n$, $T = \hat{x}$. The hypotheses are met: $X^*$ is Banach, and $\hat{x}_n \to \hat{x}$ pointwise. The conclusion gives
\begin{align*}
\sup_n \|\hat{x}_n\|_{X^{**}} &< \infty, \\
\|\hat{x}\|_{X^{**}} &\leq \liminf_{n \to \infty} \|\hat{x}_n\|_{X^{**}}.
\end{align*}
Since $J$ is isometric, $\|\hat{x}_n\|_{X^{**}} = \|x_n\|_X$ and $\|\hat{x}\|_{X^{**}} = \|x\|_X$. Substituting:
\begin{align*}
\sup_n \|x_n\|_X &< \infty, \\
\|x\|_X &\leq \liminf_{n \to \infty} \|x_n\|_X.
\end{align*}
[guided]
The strategy is to recognise that weak convergence in $X$ is the same as a particular kind of pointwise convergence in the bidual. The canonical embedding $J : X \to X^{**}$ defined by $J(x) = \hat{x}$, where $\hat{x}(f) := f(x)$ for $f \in X^*$, is a fundamental tool — it is well known to be linear and isometric (the latter is a consequence of the Hahn-Banach theorem for normed spaces).
Why pivot to $X^{**}$? The pointwise version of Banach-Steinhaus needs a Banach domain. The original sequence $(x_n)$ lives in $X$, which need not be complete. But each $x_n$ corresponds to $\hat{x}_n \in \mathcal{L}(X^*, \mathbb{R})$, and the domain of these functionals is $X^*$ — which **is** always complete, regardless of completeness of $X$. So we have a sequence of operators on a Banach space, exactly the setting of the Claim.
Now we translate the hypothesis. Weak convergence $x_n \rightharpoonup x$ means by definition that $f(x_n) \to f(x)$ for every $f \in X^*$. In the bidual, this rewrites as $\hat{x}_n(f) \to \hat{x}(f)$ for every $f \in X^*$, which is precisely pointwise convergence of the sequence $(\hat{x}_n)$ to $\hat{x}$ in $\mathcal{L}(X^*, \mathbb{R})$.
We apply the Claim with $Y = X^*$ (Banach), $Z = \mathbb{R}$, $T_n = \hat{x}_n$, and $T = \hat{x}$. All hypotheses are verified: $X^*$ is Banach, $\hat{x}_n$ are bounded linear (since $J$ is isometric, $\|\hat{x}_n\|_{X^{**}} = \|x_n\|_X < \infty$), and $\hat{x}_n \to \hat{x}$ pointwise. The Claim concludes
\begin{align*}
\sup_n \|\hat{x}_n\|_{X^{**}} &< \infty, & \|\hat{x}\|_{X^{**}} &\leq \liminf_{n \to \infty} \|\hat{x}_n\|_{X^{**}}.
\end{align*}
The final step is to undo the embedding using isometry: $\|\hat{x}_n\|_{X^{**}} = \|x_n\|_X$ and $\|\hat{x}\|_{X^{**}} = \|x\|_X$. Substituting yields the conclusion. Note we did **not** need $X$ itself to be complete — completeness of $X^*$ alone suffices, which is automatic.
[/guided]
[/step]
[step:Prove (ii) by applying the Banach-Steinhaus consequence directly to $X$]
Suppose $f_n \overset{*}{\rightharpoonup} f$ in $X^*$. By definition of weak* convergence, $f_n(x) \to f(x)$ for every $x \in X$. So $(f_n)$ converges pointwise on $X$ to $f$ in $\mathcal{L}(X, \mathbb{R})$.
By hypothesis $X$ is a Banach space. We apply the Claim with $Y = X$, $Z = \mathbb{R}$, $T_n = f_n$, $T = f$. The hypotheses are satisfied: $X$ is Banach, $f_n \in \mathcal{L}(X, \mathbb{R}) = X^*$, and $f_n \to f$ pointwise. The conclusion is
\begin{align*}
\sup_n \|f_n\|_{X^*} &< \infty, & \|f\|_{X^*} &\leq \liminf_{n \to \infty} \|f_n\|_{X^*}.
\end{align*}
[guided]
For weak* convergence, the application of the Claim is direct rather than via the bidual. Why? Because the sequence $(f_n)$ already lives in $\mathcal{L}(X, \mathbb{R})$ — the right setting for the Claim, provided the domain $X$ is Banach. This is exactly where we use the hypothesis that $X$ is Banach in (ii) but only that $X$ is a normed space in (i).
Without the hypothesis that $X$ is Banach in (ii), the argument fails: a non-complete normed space $X$ admits sequences in $X^*$ that converge pointwise to a linear but unbounded functional on $X$, and the uniform boundedness step would not apply. Completeness of the domain is the entry condition for Banach-Steinhaus.
We translate the hypothesis: $f_n \overset{*}{\rightharpoonup} f$ means by definition $f_n(x) \to f(x)$ for every $x \in X$. This is pointwise convergence in $\mathcal{L}(X, \mathbb{R})$. The Claim applied with $Y = X$, $Z = \mathbb{R}$, $T_n = f_n$, $T = f$ is justified ($X$ is Banach by hypothesis; $f_n \in X^* = \mathcal{L}(X, \mathbb{R})$; pointwise convergence holds). It concludes:
\begin{align*}
\sup_n \|f_n\|_{X^*} < \infty \quad \text{and} \quad \|f\|_{X^*} \leq \liminf_{n \to \infty} \|f_n\|_{X^*}.
\end{align*}
[/guided]
[/step]