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

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

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

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

Q&A

解決済

1回答

437閲覧

【Swift】Text(配列[0])のような形で配列を表示したい

panda33

総合スコア5

Swift

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

0グッド

0クリップ

投稿2023/01/03 01:26

編集2023/01/03 15:04

前提

はじめまして。
数日前にSwiftの勉強を始めたのですが、Text(配列[0])のような形で配列を表示しようとしたところうまくいきません。
調べ方が悪いからか、基本すぎるからかなかなか正しいやり方も見つからないため、恐縮ですが正しいやり方をご教示いただけませんでしょうか。

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

配列 keywordArray について、Text(keywordArray[0])のような形で表示したいが、上手くいかない。 エラーメッセージ No exact matches in call to initializer

該当のソースコード

Swift

1import SwiftUI 2 3var keyword: String = "あいうえお" 4var keywordLength: Int = keyword.count 5var keywordArray = Array(keyword) 6 7struct ContentView: View { 8 var body: some View { 9 10 VStack { 11 Text(keyword) 12 Text("\(keywordLength)") 13 14 //以下がうまくいかないコード 15 Text(keywordArray[0]) 16 17 } 18}

試したこと

Text(keywordArray[0]!)や、
Text("バックスラッシュ(keywordArray[0])")などの形も試みましたがダメでした。

配列がきちんと生成されていることに関しては、print()にて確認済みです。

補足情報(FW/ツールのバージョンなど)

iOS16 / Xcode 14

何卒よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Array(keyword)は、keywordに入っているString型の文字列(あいうえお)を1文字ずつの配列にしますが、分解した1文字ずつは、String型ではなく、String.Element型になりますので、keywordArray[0]String.Element型の値になります。

次のようにして、String.Element型の値をString型に変換すれば、Textの引数に指定できます。

Text(String(keywordArray[0]))

投稿2023/01/03 02:20

TakeOne

総合スコア6299

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

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

panda33

2023/01/03 06:04

丁寧な解説までいただきありがとうございます。 おかげさまでようやく理解することができました。 とても助かりました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問