- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试在方法 prepareForSegue 中设置标签的文本组件,但应用程序在执行该方法时崩溃,我查看了其他讨论,但没有一个对我有帮助,我正在快速编程最新版本的 xCode 和构建到 iPhone。当我删除将标签文本设置为“Meal name”的行时,不会发生崩溃。断点位于设置标签文本的行上。如果有人能帮助我,那就太好了,谢谢。
-- 编辑--
prepareForSegue
FirstViewController 代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let dest : SecondViewController = segue.destinationViewController as! SecondViewController
dest.mealNameLabel.text = "Meal Name"
}
完整堆栈跟踪:(-> 是中断)
libswiftCore.dylib`function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ():
0x1001de55c <+0>: stp x29, x30, [sp, #-16]!
0x1001de560 <+4>: mov x29, sp
0x1001de564 <+8>: sub sp, sp, #16 ; =16
0x1001de568 <+12>: and w8, w2, #0x1
0x1001de56c <+16>: tbnz w8, #0, 0x1001de58c ; <+48>
0x1001de570 <+20>: tbnz x1, #63, 0x1001de5c8 ; <+108>
0x1001de574 <+24>: add x1, x0, x1
0x1001de578 <+28>: mov x2, x3
0x1001de57c <+32>: mov x3, x4
0x1001de580 <+36>: mov x4, x5
0x1001de584 <+40>: bl 0x1002265b0 ; function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded> of Swift.(_fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> ()).(closure #2)
-> 0x1001de588 <+44>: brk #0x1
0x1001de58c <+48>: str xzr, [sp, #8]
0x1001de590 <+52>: cmp x0, w0, uxtw
0x1001de594 <+56>: b.ne 0x1001de6e0 ; <+388>
0x1001de598 <+60>: lsr w8, w0, #11
0x1001de59c <+64>: cmp w8, #26 ; =26
0x1001de5a0 <+68>: b.hi 0x1001de5ec ; <+144>
0x1001de5a4 <+72>: cmp w0, #128 ; =128
0x1001de5a8 <+76>: b.lo 0x1001de630 ; <+212>
0x1001de5ac <+80>: cmp w0, #2048 ; =2048
0x1001de5b0 <+84>: b.hs 0x1001de660 ; <+260>
0x1001de5b4 <+88>: movz x8, #0
0x1001de5b8 <+92>: movz x10, #0
0x1001de5bc <+96>: lsr w9, w0, #6
0x1001de5c0 <+100>: orr w9, w9, #0xffffffc0
0x1001de5c4 <+104>: b 0x1001de694 ; <+312>
0x1001de5c8 <+108>: adr x0, #723338 ; "fatal error"
0x1001de5cc <+112>: nop
0x1001de5d0 <+116>: adr x3, #723840 ; "UnsafeBufferPointer with negative count"
0x1001de5d4 <+120>: nop
0x1001de5d8 <+124>: movz w1, #0xb
0x1001de5dc <+128>: orr w2, wzr, #0x2
0x1001de5e0 <+132>: movz w4, #0x27
0x1001de5e4 <+136>: orr w5, wzr, #0x2
0x1001de5e8 <+140>: bl 0x1001de55c ; <+0>
0x1001de5ec <+144>: cmp w0, #14, lsl #12 ; =57344
0x1001de5f0 <+148>: b.lo 0x1001de63c ; <+224>
0x1001de5f4 <+152>: cmp w0, #272, lsl #12 ; =1114112
0x1001de5f8 <+156>: b.hs 0x1001de738 ; <+476>
0x1001de5fc <+160>: lsr w8, w0, #6
0x1001de600 <+164>: lsr w9, w0, #16
0x1001de604 <+168>: cbz w9, 0x1001de664 ; <+264>
0x1001de608 <+172>: lsr w9, w0, #18
0x1001de60c <+176>: orr w9, w9, #0xf0
0x1001de610 <+180>: cmp w9, w9, uxtb
0x1001de614 <+184>: b.ne 0x1001de6e0 ; <+388>
0x1001de618 <+188>: orr w10, wzr, #0xffffff80
0x1001de61c <+192>: bfxil w10, w0, #12, #6
0x1001de620 <+196>: and x12, x9, #0xff
0x1001de624 <+200>: str x12, [sp, #8]
0x1001de628 <+204>: orr w11, wzr, #0x1
0x1001de62c <+208>: b 0x1001de674 ; <+280>
0x1001de630 <+212>: movz x8, #0
0x1001de634 <+216>: movz x9, #0
0x1001de638 <+220>: b 0x1001de6d0 ; <+372>
0x1001de63c <+224>: adr x0, #723222 ; "fatal error"
0x1001de640 <+228>: nop
0x1001de644 <+232>: adr x3, #726652 ; "high- and low-surrogate code points are not valid Unicode scalar values"
0x1001de648 <+236>: nop
0x1001de64c <+240>: movz w1, #0xb
0x1001de650 <+244>: orr w2, wzr, #0x2
0x1001de654 <+248>: movz w4, #0x47
0x1001de658 <+252>: orr w5, wzr, #0x2
0x1001de65c <+256>: bl 0x1001de55c ; <+0>
0x1001de660 <+260>: lsr w8, w0, #6
0x1001de664 <+264>: lsr w9, w0, #12
0x1001de668 <+268>: movz x11, #0
0x1001de66c <+272>: movz x12, #0
0x1001de670 <+276>: orr w10, w9, #0xffffffe0
0x1001de674 <+280>: lsl x13, x11, #3
0x1001de678 <+284>: orr w9, wzr, #0xffffff80
0x1001de67c <+288>: bfxil w9, w8, #0, #6
0x1001de680 <+292>: and w8, w10, #0xff
0x1001de684 <+296>: lsl x8, x8, x13
0x1001de688 <+300>: orr x10, x8, x12
0x1001de68c <+304>: str x10, [sp, #8]
0x1001de690 <+308>: add x8, x11, #1 ; =1
0x1001de694 <+312>: orr w11, wzr, #0x8
0x1001de698 <+316>: umulh x11, x8, x11
0x1001de69c <+320>: cmp xzr, x11
0x1001de6a0 <+324>: b.ne 0x1001de6e0 ; <+388>
0x1001de6a4 <+328>: lsl x11, x8, #3
0x1001de6a8 <+332>: cmp x11, #63 ; =63
0x1001de6ac <+336>: b.hi 0x1001de714 ; <+440>
0x1001de6b0 <+340>: orr w12, wzr, #0x80
0x1001de6b4 <+344>: bfxil x12, x0, #0, #6
0x1001de6b8 <+348>: and w9, w9, #0xff
0x1001de6bc <+352>: lsl x9, x9, x11
0x1001de6c0 <+356>: orr x9, x9, x10
0x1001de6c4 <+360>: str x9, [sp, #8]
0x1001de6c8 <+364>: add x8, x8, #1 ; =1
0x1001de6cc <+368>: mov x0, x12
0x1001de6d0 <+372>: orr w10, wzr, #0x8
0x1001de6d4 <+376>: umulh x10, x8, x10
0x1001de6d8 <+380>: cmp xzr, x10
0x1001de6dc <+384>: b.eq 0x1001de6e4 ; <+392>
0x1001de6e0 <+388>: brk #0x1
0x1001de6e4 <+392>: lsl x10, x8, #3
0x1001de6e8 <+396>: cmp x10, #64 ; =64
0x1001de6ec <+400>: b.hs 0x1001de714 ; <+440>
0x1001de6f0 <+404>: and x11, x0, #0xff
0x1001de6f4 <+408>: lsl x10, x11, x10
0x1001de6f8 <+412>: orr x9, x10, x9
0x1001de6fc <+416>: str x9, [sp, #8]
0x1001de700 <+420>: add x9, sp, #8 ; =8
0x1001de704 <+424>: add x8, x8, x9
0x1001de708 <+428>: add x1, x8, #1 ; =1
0x1001de70c <+432>: add x0, sp, #8 ; =8
0x1001de710 <+436>: b 0x1001de578 ; <+28>
0x1001de714 <+440>: adr x0, #723006 ; "fatal error"
0x1001de718 <+444>: nop
0x1001de71c <+448>: adr x3, #723412 ; "shift amount is larger than type size in bits"
0x1001de720 <+452>: nop
0x1001de724 <+456>: movz w1, #0xb
0x1001de728 <+460>: orr w2, wzr, #0x2
0x1001de72c <+464>: movz w4, #0x2d
0x1001de730 <+468>: orr w5, wzr, #0x2
0x1001de734 <+472>: bl 0x1001de55c ; <+0>
0x1001de738 <+476>: adr x0, #722970 ; "fatal error"
0x1001de73c <+480>: nop
0x1001de740 <+484>: adr x3, #726480 ; "value is outside of Unicode codespace"
0x1001de744 <+488>: nop
0x1001de748 <+492>: movz w1, #0xb
0x1001de74c <+496>: orr w2, wzr, #0x2
0x1001de750 <+500>: movz w4, #0x25
0x1001de754 <+504>: orr w5, wzr, #0x2
0x1001de758 <+508>: bl 0x1001de55c ; <+0>
这是我使用 dest 访问的 View Controller 的代码:(感谢 Emptyless)
//
// SecondViewController.swift
// FoodTracker
//
// Created by Michael Buerger on 7/4/16.
// Copyright © 2016 Michael Buerger. All rights reserved.
//
import UIKit
class SecondViewController: UIViewController {
// MARK: Properties
@IBOutlet weak var mealNameLabel: UILabel!
var mealName: String?
override func viewDidLoad() {
super.viewDidLoad()
if mealName != nil {
mealNameLabel.text = mealName
}
}
}
最佳答案
问题很可能是您正在访问尚未初始化的 IBOutlet。如果不是直接设置 UITextLabel
,而是创建一个保存文本的变量,您可能会更幸运:
作为 SecondViewController 的属性:
var labelText : String?
在 FirstViewController 的 prepareForSegue()
中:
des.labelText = "Your Text"
在 SeconViewController 的 viewDidLoad()
中:
self.MeatNameLabel.text = labelText
关于xcode - PrepareForSegue 有效,但访问目标的变量会使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38214801/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to nest OR statements in JavaScript? 有没有办法做到这一点:
在 JavaScript 中有没有办法让一个变量总是等于一个变量?喜欢var1 = var2但是当var2更新,也是var1 . 例子 var var1 = document.getElementBy
我正在努力理解这代表什么 var1 = var2 == var3 我的猜测是这等同于: if (var2 == var3): var1 = var2 最佳答案 赋值 var1 = var2
这个问题已经有答案了: What does the PHP error message "Notice: Use of undefined constant" mean? (2 个回答) 已关闭 8
我在临时表中有几条记录,我想从每条记录中获取一个值并将其添加到一个变量中,例如 color | caption -------------------------------- re
如何将字符串转为变量(字符串变量--> $variable)? 或者用逗号分隔的变量列表然后转换为实际变量。 我有 2 个文件: 列名文件 行文件 我需要根据字符串匹配行文件中的整行,并根据列名文件命
我有一个我无法解决的基本 php 问题,我也想了解为什么! $upperValueCB = 10; $passNodeMatrixSource = 'CB'; $topValue= '$uppe
这可能吗? php $variable = $variable1 || $variable2? 如果 $variable1 为空则使用 $variable2 是否存在类似的东西? 最佳答案 PHP 5
在 Perl 5.20 中,for 循环似乎能够修改模块作用域的变量,但不能修改父作用域中的词法变量。 #!/usr/bin/env perl use strict; use warnings; ou
为什么这不起作用: var variable; variable = variable.concat(variable2); $('#lunk').append(variable) 我无法弄清楚这一点
根据我的理解,在32位机器上,指针的sizeof是32位(4字节),而在64位机器上,它是8字节。无论它们指向什么数据类型,它们都有固定的大小。我的计算机在 64 位上运行,但是当我打印包含 * 的大
例如: int a = 10; a += 1.5; 这运行得很完美,但是 a = a+1.5; 此作业表示类型不匹配:无法从 double 转换为 int。所以我的问题是:+= 运算符 和= 运算符
您好,我写了这个 MySQL 存储过程,但我一直收到这个语法错误 #1064 - You have an error in your SQL syntax; check the manual that
我试图在我的场景中显示特定的奖牌,这取决于你的高分是基于关卡的目标。 // Get Medal Colour if levelHighscore goalScore { sc
我必须维护相当古老的 Visual C++ 源代码的大型代码库。我发现代码如下: bIsOk = !!m_ptr->isOpen(some Parameters) bIsOk的数据类型是bool,is
我有一个从 MySQL 数据库中提取的动态产品列表。在 list 上有一个立即联系 按钮,我正在使用一个 jquery Modal 脚本,它会弹出一个表单。 我的问题是尝试将产品信息变量传递给该弹出窗
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between (type)value and type(va
jQuery Core Style Guidelines建议两种不同的方法来检查变量是否已定义。 全局变量:typeof variable === "undefined" 局部变量:variable
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: “Variable” Variables in Javascript? 我想肯定有一种方法可以在 JavaScrip
在语句中使用多重赋值有什么优点或缺点吗?在简单的例子中 var1 = var2 = true; 赋值是从右到左的(我相信 C# 中的所有赋值都是如此,而且可能是 Java,尽管我没有检查后者)。但是,
我是一名优秀的程序员,十分优秀!