1 Reply
      Latest reply on Nov 22, 2019 7:04 AM by wlionel
      wlionel Level 1 Level 1 (0 points)

        Hello:

         

        I am trying to display some text in an NSTextView but thus far my efforts have been unsuccessful. Line 27, where I try to code to get the text to display causes a crash.  the debug error message is: 2019-11-21 20:09:38.876811-0500 ScorcentMasterReview[49322:25437243] -[NSTextView documentView]: unrecognized selector sent to instance 0x101094620.

         

        When I comment out line 27, the debug message is given below:

         

        Any help would be appreciated.

         

        Here is the code:

         

         

        @IBActionfunc getQuestion(_ sender: Any) { 
                func runConsistencyCheck() { 
                    do { 
                        try managedContext.save() 
                    } catch { 
                        print("An error occurred during consistency checking: \(error)") 
                    } 
                } 
                   //      print ("Starting Fetch Function") 
               guard let appDelegate = NSApplication.shared.delegate as? AppDelegate else { 
                                return 
                        } 
                      //     print ("Step Four") 
                _ = appDelegate.persistentContainer.viewContext 
                let fetchRequest = NSFetchRequest(entityName: "SCQ") 
                fetchRequest.returnsObjectsAsFaults = false 
                  do { 
                            items = try managedContext.fetch(fetchRequest) 
                            print ("Record Returned is \(items)") 
                        } catch let error as NSError { 
                            print("Could not fetch. \(error), \(error.userInfo)") 
                        } 
                    for item in items { 
                if let record = item.value(forKey: "question") as? String { 
                        recordItem.append(record) 
                  let stringvalue = "questionText: \(recordItem)" 
                  questionView?.documentView?.insertText(stringvalue) //THIS LINE CAUSES A CRASH 
                        print(stringvalue) 
                            } 
                } 
                   for item in items { 
                if let record = item.value(forKey: "distractor1") as? String { 
                        distractor1Item.append(record) 
                let stringvalue = "distractor1Label: \(distractor1Item)" 
                        print(stringvalue) 
                            } 
                } 
                     for item in items { 
                    if let record = item.value(forKey: "distractor2") as? String { 
                            distractor2Item.append(record) 
                    let stringvalue = "distractor2Label: \(distractor2Item)" 
                            print(stringvalue) 
                                } 
                    } 
                     for item in items { 
                    if let record = item.value(forKey: "distractor3") as? String { 
                            distractor3Item.append(record) 
                    let stringvalue = "distractor3Label: \(distractor3Item)" 
                            print(stringvalue) 
                                } 
                    } 
                     for item in items { 
                    if let record = item.value(forKey: "distractor4") as? String { 
                            distractor4Item.append(record) 
                    let stringvalue = "distractor4Label: \(distractor4Item)" 
                            print(stringvalue) 
                                } 
                    } 
                     for item in items { 
                    if let record = item.value(forKey: "distractor5") as? String { 
                            distractor5Item.append(record) 
                    let stringvalue = "distractor5Label: \(distractor5Item)" 
                            print(stringvalue) 
                                } 
                    } 
        
        

        Here is the debug results when I comment out line 27 where I try to get the output:

         

        questionText: (see figure) Using the maps; Which one of these was probably most recently settled?

        distractor1Label: Iron Town

        distractor2Label: Lake City

        distractor3Label: Jonesville

        distractor4Label: not here

        distractor5Label: not here

        • Re: How to Use NSTextView to Display Data
          wlionel Level 1 Level 1 (0 points)

          Isolved the Problem. The successflu code for lines 23 - 29 is as follows:

           

          for item in items {
                  if let record = item.value(forKey: "question") as? String {
                          questionItem.append(record)
                    let stringvalue = "questionText: \(questionItem)"
                    questionText?.string = questionItem
                          print(stringvalue)
                              }
                  }

           

          The 27 below was calling a scrollView instead of a textView

           

          questionView?.documentView?.insertText(stringvalue)