关键词:
【中文标题】如何从外部源更新 uitextview。【英文标题】:How to Updatie a uitextview from an external source. 【发布时间】:2017-01-04 23:21:34 【问题描述】:我希望能够通过在我的视图中调用一个方法来更新我的 uitextview。使用此代码,我得到一个运行时错误:
Unexpectedly found nil while unwrapping an Optional value
如果我注释掉它运行的 vw.updateTerm(...) 行。最终,我想用从 BLE 和/或 http 请求更新的数据更新 uitextview。任何帮助或指导将不胜感激。
我的 Playground Swift 3 代码如下所示:
import UIKit
import PlaygroundSupport
public class TextViewController : UIViewController
public var textView : UITextView!
override public func loadView()
textView = UITextView()
textView.text = "Hello World!\nHello Playground!"
self.view = textView
func updateTerm(textToUpdate: String)
self.textView.text.append(textToUpdate)
let vw = TextViewController()
vw.updateTerm(textToUpdate: "here you go")
PlaygroundPage.current.liveView = vw
【问题讨论】:
【参考方案1】:问题在于,当您尝试updateTerm
时,仍然没有调用loadView
,这意味着loadView
中的textView
是nil
vw
实例。
就textView
被声明为强制解包属性而言,任何尝试在它为nil
(如您的情况)时使用它都会导致运行时错误。
您应该将其设为常规可选:
public var textView : UITextView?
override public func loadView()
textView = UITextView()
textView?.text = "Hello World!\nHello Playground!"
self.view = textView
func updateTerm(textToUpdate: String)
self.textView?.text.append(textToUpdate)
或者,例如,惰性属性(如果适合您的情况):
lazy public var textView = UITextView()
override public func loadView()
textView.text = "Hello World!\nHello Playground!"
self.view = textView
func updateTerm(textToUpdate: String)
self.textView.text.append(textToUpdate)
更多信息可以在here找到。
【讨论】:
谢谢,该链接有助于更好地解释它。我使用了 Lazy 选项,它对运行时错误很有用。我添加了如下几行以添加到我的文本视图中,它会更新,但文本永远不会进入显示的文本视图。 [code]print(vw.textView.text) vw.updateTerm(textToUpdate: "\n你去 2") print(vw.textView.text)'code' 添加了这些代码行。看来我有 2 个 textView 实例,因为在操场上它附加到 1 个实例而不是正在显示的那个实例。我需要在课堂上做更多的事情吗?vw.updateTerm(textToUpdate: "\nhere you go") print(vw.textView.text) vw.updateTerm(textToUpdate: "\nhere you go 2") print(vw.textView.text)
如何从外部托管源 pip install pyx 包?
】如何从外部托管源pipinstallpyx包?【英文标题】:HowcanIpipinstallpyxpackagefromexternallyhostedsource?【发布时间】:2015-03-1816:22:17【问题描述】:Pip知道pyx包:$pipsearchpyxPyX-PythonpackageforthegenerationofPostScriptandPDFfiles尝试安装会报错:$pipinst... 查看详情
iOS 应用程序 - 如何从外部源更改启动图像?
】iOS应用程序-如何从外部源更改启动图像?【英文标题】:iOSApp-HowcanIchangethelaunchimagefromanexternalsource?【发布时间】:2017-11-0815:20:14【问题描述】:当iOS应用启动时,它会从名为Images.xcassets的文件夹中获取启动图像。我想知道如... 查看详情
如何在 AnyLogic 7 中从外部源获取资源容量?
】如何在AnyLogic7中从外部源获取资源容量?【英文标题】:HowtogetresourcecapcityfromexternalsourceinAnyLogic7?【发布时间】:2014-08-3003:01:33【问题描述】:我有一个简单的模拟,它应该“试运行”一个班次安排结果。我的问题是将班次输... 查看详情
如何通过点击外部来关闭 UITextView?
】如何通过点击外部来关闭UITextView?【英文标题】:HowtodismissanUITextViewwithtappingoutside?【发布时间】:2012-01-3114:00:20【问题描述】:我对@987654321@s有点怀疑。我以前放UITextFields,和老铁们一起敲门把键盘拆掉:-(void)touchesEnded... 查看详情
从源文件名更改的外部源导入
】从源文件名更改的外部源导入【英文标题】:importingfromanexternalsoucewheresourcefilenamechanges【发布时间】:2016-06-0212:23:58【问题描述】:如果这是一个简单的问题,请原谅我,我还在学习..我有一个Excel文件,它获取数据并执行分... 查看详情
Jquery UI Autocomplete - 从外部源绘制数据时如何使用 Accent Mapping
】JqueryUIAutocomplete-从外部源绘制数据时如何使用AccentMapping【英文标题】:JqueryUIAutocomplete-howtouseAccentMappingwhendrawingdatafromexternalsource【发布时间】:2021-11-0808:15:04【问题描述】:我的网站上有一个搜索表单,其中JQueryUI自动完成功... 查看详情
嵌入在 UIViewController 中的 UIHostingController - 如何从外部更新 @State?
】嵌入在UIViewController中的UIHostingController-如何从外部更新@State?【英文标题】:UIHostingControllerembeddedinUIViewController-howtoupdate@Statefromoutside?【发布时间】:2021-04-0616:55:52【问题描述】:我正在使用UIHostingController将ContentView嵌入到Vie... 查看详情
如何使用网络库从函数外部获取更新值
】如何使用网络库从函数外部获取更新值【英文标题】:HowdoIgetupdatedvaluefromoutsideoffunctionusingnetlibrary【发布时间】:2020-07-1307:02:04【问题描述】:我是JS新手。我正在尝试构建API服务器,该服务器必须使用套接字从其他服务器接... 查看详情
如何从主窗体更新子窗体中的图像框控件源
】如何从主窗体更新子窗体中的图像框控件源【英文标题】:HowtoupdateImageboxcontrolsourceinsubformfrommainform【发布时间】:2020-11-1717:03:14【问题描述】:我有一个主窗体和一个加载图像记录的子窗体。当我设置表单时,我通过以下属... 查看详情
如何在 xcode 中从控制器外部更新视图
】如何在xcode中从控制器外部更新视图【英文标题】:Howtoupdateaviewfromoutsideacontrollerinxcode【发布时间】:2012-06-1716:53:43【问题描述】:到目前为止,我只从其控制器中更新了一个视图。我现在处于一种不同的情况,我需要根据我... 查看详情
登录后如何更新 UITextView
】登录后如何更新UITextView【英文标题】:HowtoupdateUITextViewafterlogin【发布时间】:2012-02-2405:10:30【问题描述】:我正在尝试使用ARC将Facebook集成到我的iOS应用中。为了使用FBSDK,我已经为这些文件禁用了“-fno-objc-arc”的ARC。但是... 查看详情
如何以编程方式更新 UITextView maximumNumberOfLines 并查看 UI 更新。
】如何以编程方式更新UITextViewmaximumNumberOfLines并查看UI更新。【英文标题】:HowtoupdateUITextViewmaximumNumberOfLinesprogrammaticallyandseeupdateonUI.【发布时间】:2018-08-2620:50:01【问题描述】:我有禁用滚动的UITextView。我需要以编程方式更改m... 查看详情
如何从外部应用程序在 Dynamics 365 Finance & Operations 中插入/更新客户
】如何从外部应用程序在Dynamics365Finance&Operations中插入/更新客户【英文标题】:HowdoIInsert/UpdateaCustomerinDynamics365Finance&Operationsfromanexternalapplication【发布时间】:2020-12-0204:32:23【问题描述】:如何从外部c#应用程序在Dynamics365... 查看详情
onmousemove 事件不会从外部源触发?
】onmousemove事件不会从外部源触发?【英文标题】:onmousemoveeventdoesnotfirefromwithinexternalsource?【发布时间】:2017-12-2722:25:00【问题描述】:我正在我网页的一个div中加载一个外部网页(即本示例中的www.duckduckgo.com)。我想在div内部... 查看详情
PhoneGap:从外部源加载数据
】PhoneGap:从外部源加载数据【英文标题】:PhoneGap:loaddatafromexternalsources【发布时间】:2012-05-1516:17:08【问题描述】:我想创建一个带有phonegap的网络应用程序(我正在尝试使用Android模拟器),但我遇到了“相同域策略”的问题... 查看详情
如何成为从一个 UITextView 到另一个 UITextView 的响应者?
】如何成为从一个UITextView到另一个UITextView的响应者?【英文标题】:HowtobecomeresponderfromoneUITextViewtoanotherUITextView?【发布时间】:2012-07-1411:25:46【问题描述】:我的iPhone应用中有两个UITextView。当用户选择一个UITextView时,控制器... 查看详情
如何从 UITextView 获取删除(退格)事件?
】如何从UITextView获取删除(退格)事件?【英文标题】:Howtogetdelete(backspace)eventfromUITextView?【发布时间】:2015-09-0103:25:51【问题描述】:我有简单的解决方案。-(BOOL)textView:(UITextView*)textViewshouldChangeTextInRange:(NSRange)rangereplacementTex... 查看详情
从外部源设置 UITableViewCell 内的内容?
】从外部源设置UITableViewCell内的内容?【英文标题】:SettingcontentinsideofaUITableViewCellfromoutsidesource?【发布时间】:2014-02-2621:09:07【问题描述】:我有一个带有几个UITableViewCells的UITableViewController。每个单元格都有不同的内容:标签... 查看详情