Realm에서 데이터를 가져와 UISegmentedControl에 표시
7395 단어 Swift
이런 느낌입니다
코드와 간략한 설명
let realm = try Realm()
에서 Realm ()의 인스턴스를 만듭니다.realm.objects(RealmDataSets.self)
로 얻은 Realm의 값을 readRealmTag에 넣습니다. realmTagArray.allSatisfy
에서 readRealmTag 의 값이 realmTagArray 의 모든 값에 같은 것이 없다면 realmTagArray.append(readRealmTag.tag)
로 배열에 값을 추가합니다. ~~~一部省略~~~
var realmTagArray = [String]()
func readRealmTag(){
do{
let realm = try Realm()
realmTagArray = []
for readRealmTag in realm.objects(RealmDataSets.self){
if realmTagArray.allSatisfy({$0 != readRealmTag.tag}) == true{
realmTagArray.append(readRealmTag.tag)
}
}
}catch{
//エラー処理など
}
}
.removeAllSegments()
에서 Segment를 삭제할 수 있습니다. (새로운 Segment를 만들 때 이전에 작성한 Segment가 남아 있으면 오래된 Segment 위에 새로운 Segment가 표시되어 이상한 모양이 됩니다.) realmCRUDModel.realmTagArray.count
가 0일 때 Segment를 작성시키지 않게 합니다. UISegmentedControl()
는 간단합니다만 여기에서 해설했습니다. 버튼을 누르면 세그먼트가 증가합니다 (UISegmentedControl)
~~~一部省略~~~
var uiSegmentControl = UISegmentedControl()
let realmCRUDModel = RealmCRUDModel()
func createSegment(targetView:UIView){
realmCRUDModel.readRealmTag()
uiSegmentControl.removeAllSegments()
if realmCRUDModel.realmTagArray.count != 0{
for segmentCount in 0...realmCRUDModel.realmTagArray.count - 1{
uiSegmentControl.insertSegment(withTitle: realmCRUDModel.realmTagArray[segmentCount], at: segmentCount, animated: true)
}
}
uiSegmentControl.frame = CGRect(x: targetView.bounds.minX + 5, y: targetView.bounds.minY + 97, width: targetView.frame.size.width - 10, height: 32)
uiSegmentControl.selectedSegmentTintColor = UIColor(red: 1.0, green: 0.40, blue: 0.51, alpha: 1.0)
targetView.addSubview(uiSegmentControl)
}
끝
최근에 만든 앱의 내용이었습니다.
지적, 질문 등 있으면, 코멘트까지 부탁드립니다.
Reference
이 문제에 관하여(Realm에서 데이터를 가져와 UISegmentedControl에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/HiroUrata/items/0604afd7cc20b54bc59a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Realm에서 데이터를 가져와 UISegmentedControl에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/HiroUrata/items/0604afd7cc20b54bc59a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)