質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

740閲覧

Use of undeclared type... の解決法

hajime_0321

総合スコア4

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2020/04/12 12:02

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

appの作成をしながらswiftの勉強をしています。PageViewControllerを使って複数ページをスクロールして移動できるようにしようとしているところなのですが、その際に下記のエラーが出てしまいました。解決法をお願いします。

エラーメッセージ Use of undeclared type 'FirstViewController'

該当のソースコード

ソースコード import UIKit class PageViewController: UIPageViewController { override func viewDidLoad() { super.viewDidLoad() self.setViewControllers([getFirst()], direction: .Forward, animated: true, completion: nil) } func getFirst() -> FirstViewController { return storyboard!.instantiateViewControllerWithIdentifier("FirstViewController") as! FirstViewController } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } // Do any additional setup after loading the view, typically from a nib. ### 試したこと 全てを理解しているわけではなかったため、とりあえず参考にしたサイト通りに書きました。下記が該当サイトです。このページの「UIPageViewControllerを編集しよう」の箇所です。 https://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2020/04/12 12:25

Qiitaの参照されたページに > 2.それに対応したファイルも3つ作って、それぞれのViewControllerに指定してください。 とありますが、これは実行されていますでしょうか。
hajime_0321

2020/04/12 13:59

すみません、確かにファイルを作ってなかったです、ありがとうございます。今、その通りに実行してみたらUse of undeclared type 'FirstViewController'のエラーは消えたのですが、新たに Cannot convert value of type 'FirstViewController' to expected element type 'UIViewController' というエラーが発生してしまいました。これについても助けていただけるとありがたいです。
TsukubaDepot

2020/04/12 14:08

たとえば、 https://capibara1969.com/1118/ のように、Cocoa Touch class としてファイルを作り、UIVewcontroller のサブクラスとして作れば通常は問題ないと思いますが、こんな感じで追加されていますでしょうか。 別にCocoa Touch class として作っていなくても、FirstViewController の宣言部が class FirstViewController: UIViewController { となっていればエラーも出ないはずです。
guest

回答1

0

参考ページが優しくないですね。。

参考ページ該当箇所2.それに対応したファイルも3つ作って、それぞれのViewControllerに指定してください。の部分になりますが、

FirstViewController.swiftというファイル名で以下のように作成してください。

Swift

1 2import UIKit 3 4class FirstViewController: UIViewController { 5 6override func viewDidLoad() { 7super.viewDidLoad() 8} 9 10} 11

同じように、SecondViewController, ThirdViewControllerも作成すればOKです。

上記作成後にStoryboardにてClass名とIDの登録を忘れずに!
参考ページ該当箇所 3.また、StoryBoardIDも忘れずに設定するようにしましょう。

投稿2020/04/13 16:06

Tetsukick

総合スコア297

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問