문제 설명
swift에서 nil 객체와 문자열 연결 (string concatenate with nil object in swift)
언젠가 문자열 값 또는 nil 값을 반환하는 coredata 엔터티에서 문자열 값을 찾으려고 합니다. 해당 값을 다른 문자열과 결합해야 하지만 반환 nil 애플리케이션이 내 코드 조각을 충돌시켰을 때
let objtest = (TblObjectValue.findOrCreate(["objectId":dicCurrent.valueForJSON("Id")]) as TblObjectValue)
tablecell.lblTitle?.text = "Value: "+objtest.displayValue!
여기서 TblObjectValue는 NSManagedObject이고 objectId(NSString) 및 displayValue(NSString )는 TblObjectValue 엔터티의 속성입니다. displayValue가 null인 경우 응용 프로그램 충돌
한 줄로 표시하고 싶습니다.
다음 코드를 여러 번 사용했기 때문에 내 프로젝트에서
tablecell.lblTitle?.text = (dicCurrent.valueForJSON("CardLabel") as? String)!+": "+(TblObjectValue.findOrCreate(["objectId":dicCurrent.valueForJSON("Id")]) as TblObjectValue).displayValue!
참조 솔루션
방법 1:
Check it before do anything:
if objtest.displayValue != nil {
tablecell.lblTitle?.text = "Value: "+objtest.displayValue!
}
방법 2:
Doesn't
tablecell.lblTitle?.text = "Value: "+ (objtest.displayValue ?? "")
do the trick?
(by Jaydeep Patel、tuledev、TheEye)