##実現したいこと
UILabelに表示するテキストの一部分だけを非表示にしたい。
※プロフィールなどで自分には設定した情報が全部表示されるが他人から見える場合は一部表示されないようにしたい
##ソースコード
splitを使って条件に合致したものを非表示にするようにしてみましたが、文字列が削除されずどこが足りていないかご教示いただきたいです。
Swift
1@IBOutlet weak var birthDay: UILabe! 2 3// 生年月日 4 if let year = birthDayYear, let Month = birthDayMonth, 5 let Date = birthDayDate { 6 // 値が入っていたら表示 7 if !year.isEmpty && !month.isEmpty && !date.isEmpty { 8 birthDay.text = "(year)年(month)月(date)日" 9 //場合わけ省略 10 } else { 11 birthDay.text = "" 12 } 13 if let text = birthDay.text { 14 //他人かつ”年”が含まれていた場合、誕生年を削除する 15 if !isMe && text.contains("年") { 16 text.components(separatedBy:"年").last 17 } 18 } 19 } else { 20 birthDay.text = "" 21 } 22
誕生年を削除した結果を birthDay.text に設定してないからでは。
でも、いったん birthDay.text を設定してからその中身をいじるより、最初から他人かどうかで場合わけした方が良いと思います。
あなたの回答
tips
プレビュー