小编Ozz*_*hen的帖子

Swift:Segue(模态)到嵌入antoher导航控制器的UITableViewController

背景:我想显示从UITableViewController(A)到UITableViewController(B)的模态segue,但我想显示一个NavigationBar为"Cancel"和"Save".


我做了什么:
在故事板中:

  1. 我按住c将单元格从A拖动到B,然后设置segue标识符"selectItem"
  2. 我选择B并选择"编辑器 - 嵌入 - 导航控制器"

在A的ViewController中:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifer == "selectItem" {
        if let indexPath = self.tableView.indexPathForSelectedRow() {
            let destinationViewController = segue.destinationViewController as B
            // Pass value from A to B
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

故事板


错误:应用程序let destinationViewController = segue.destinationViewController as B因错误而崩溃swift_dynamicCastClassUnconditional.如果我没有将导航控制器嵌入到B中,程序就不会崩溃.但我真的需要一个导航栏.
有没有解决方案或其他方法来实现这一目标?谢谢! 错误1 在此输入图像描述


PS:我试过在故事板中从对象库中拖动一个NavigationBar,但它错过了背景的一部分来覆盖状态栏...

casting ios segue

4
推荐指数
1
解决办法
5454
查看次数

ios8 autolayout:BOTH多行(可能是0行)标签

我想在一个单元格中显示两个UILabel(Title,Subtitle).
为标题:多个线> 0
为字幕:0 多个线 2

这里的一个错误(比如说,标题和副标题都2行,单元格的indexPath.row = 1):
我第一次运行模拟器,标题仅示出了1行和副标题显示2行.滚动tableView并返回第一个indexPath.row后,它显示正确!看起来像这样:

第一次:
-----------------
这是瓷砖,它应该显示......

这是副标题,它应该显示
2行.

-----------------

滚动并返回此单元格后:
-----------------
这是标题,它应该显示
两行.

这是副标题,它应该显示
2行.

-----------------

我做了什么:
在控制器中:
tableView.estimatdRowHeight = 79
tableView.rowHeight = UITableViewAutomaticDimension

在故事板中:
对于标题:

  1. 领先的超视空间
  2. 尾随空间到superview
  3. Superview的顶层空间
  4. 对齐导致字幕
  5. 将尾随对齐到字幕
  6. 字幕的底部空间

副标题:

  1. 底层空间到superview
  2. 与标题对齐
  3. 将尾随对齐标题
  4. 标题的顶部空间

我好几天都对这个bug感到困惑,有什么想法可以解决这个问题吗?非常感谢!!!(抱歉缺少图像因为我没有得到足够的声誉> <)

uitableview autolayout ios8

3
推荐指数
1
解决办法
1474
查看次数

iOS swift:使用coredata(cloudkit)存储缓存

我正在学习使用cloudkit来保存和获取记录,但我对将缓存保存到coredata感到困惑.

例如,我使用tableview获取了几条记录并显示了这种记录类型的一些属性(比如A,C和F).当我单击一个单元格时,它将显示此记录的详细信息(此记录的所有属性:ABCDEF,但不包括引用属性记录).当我第一次拿到记录时,我想知道是否应将这些东西存入coredata:"ACF和recordID"?当用户点击查看详细信息时,我使用recordID再次获取?关键是我应该使用什么属性类型来存储CKRecordID/CKRecord?

我知道我可以将像image这样的东西存储到本地缓存文件中(也令人困惑..),但它不是持久存储吗?而且我没有直接存储记录的所有属性的原因是因为这个记录是一个"邀请",只有当用户选择接受它时,它才会下载所有属性,包括一些引用类型属性.

任何帮助都会有所帮助,谢谢!

core-data ios swift cloudkit

2
推荐指数
1
解决办法
1822
查看次数

标签 统计

ios ×2

autolayout ×1

casting ×1

cloudkit ×1

core-data ×1

ios8 ×1

segue ×1

swift ×1

uitableview ×1