2017-02-02 20 views
0

Привет всем Я пробовал несколько решений, но не повезло.Необязательно в текстовом режиме, отображающем при печати

Я получаю текст из Data Core, но текстовое окно имеет опцию на нем.

, когда он печатает, он отображается в тексте необязательно.

page22TextView?.text = ("\(trans.value(forKey: "page22"))") 

может кто-нибудь пролить свет на это! попытались развернуть, но это stillelow: показывает.

полная функция ниже:

func getTranscriptions() { 
    //create a fetch request, telling it about the entity 

    let fetchRequest: NSFetchRequest<TextInputs> = TextInputs.fetchRequest() 


    do { 
     //go get the results 
     let searchResults = try getContext().fetch(fetchRequest) 

     //I like to check the size of the returned results! 
     print ("num of results = \(searchResults.count)") 

     //You need to convert to NSManagedObject to use 'for' loops 
     for trans in searchResults as [NSManagedObject] { 


      page22TextView?.text = ("\(trans.value(forKey: "page22"))") 
      //get the Key Value pairs (although there may be a better way to do that... 
      print("\(trans.value(forKey: "page22"))") 

     } 
    } catch { 
     print("Error with request: \(error)") 
    } 
} 

ответ

0

попробовать с если пусть заявление:

if let result = trans.value(forKey: "page22") { 

    page22TextView?.text = result 
} 

Или попробуйте охранником заявление:

guard let result = trans.value(forKey: "page22") else { return } 
page22TextView?.text = String(describing: result) 

Или вы можете сила upwrap это нравится:

let result = trans.value(forKey: "page22") 

if result != nil { 

    page22TextView?.text = result! as! String 
} 

Или вы можете следовать предложенному мной @ MrugeshTank ниже в ответах

+0

Привет, спасибо за вашу помощь, с первым я вернусь к желтому треугольнику, который говорит: Nom-необязательное выражение типа «String», используемое в чеке для опций. Второй я получаю! ошибка в результате = результат, говоря Невозможно присвоить значение Any строке типа, я попытался добавить как! Строка на конце, третья, как когда-либо я получил ту же ошибку, что и выше, но на этот раз, когда я добавил как! Строка в конце результата сработала, спасибо за это и разные варианты, о которых я могу узнать. это была отличная помощь –

+0

Я обновляю свой ответ, теперь он будет работать для вас –

+0

Еще раз спасибо за это. –

0

пытается разворачивать по желанию с помощью если позволить затем присвоить ваше TextView (при необходимости затем обратного приведения вашего значения)

if let value = trans.value(forKey: "page22") { 
    page22TextView?.text = value 
} 

или

use guard for unwrap 
+0

Привет, спасибо вам за помощь, я попробовал первую часть этого и получил тот же результат, я новичок в этом около 7 месяцев в обучении и гавани 't использовал охрану так много, чтобы не догадываться, как использовать его в этом –

0

попытаться установить значение по умолчанию для получения ноль значение

page22TextView?.text = (trans.value(forKey: "page22") as? String) ?? "" 

Это будет установить значение от trans, и если он Retrun nill будет установлен "".

Надеюсь, это поможет вам.

+0

Привет, Спасибо за вашу помощь. С этим я получаю желтый треугольник, который гласит: «Левая сторона низового коалесцирующего оператора? имеет необязательный тип String, поэтому правая сторона никогда не использовалась. результат по компиляции такой же, как и раньше. –