病情描述:

  1. viewController创建的时候勾选了xib,然后在显示的时候调用了如下语句:

         MTDetailDealViewController *detailController = [[MTDetailDealViewController alloc]init];
    detailController.deal = [self.deals objectAtIndex:indexPath.item];
    [self presentViewController:detailController animated:YES completion:nil];
  2. 发现界面根本没有按照数据源发生改变

病情原因:

  1. 将viewController的几个生命周期关键方法进行打印,发现:
    
             2016-04-20 01:26:44.369 MTHD[6384:380078] -[MTDetailDealViewController initWithNibName:bundle:](114):
    2016-04-20 01:26:44.370 MTHD[6384:380078] -[MTDetailDealViewController init](99):
    2016-04-20 01:26:44.370 MTHD[6384:380078] -[MTDetailDealViewController setDeal:](50):
    2016-04-20 01:26:45.421 MTHD[6384:380078] -[MTDetailDealViewController loadView](95):
  2. 联想起上篇知识总结

    iOS viewController 和 view 的创建消失生命周期总结的第4点

改正如下:

         MTDetailDealViewController *detailController = [[MTDetailDealViewController alloc]init];
//必须得先调用view,否则下面的句子将会无效
[detailController loadView];
detailController.deal = [self.deals objectAtIndex:indexPath.item];
[self presentViewController:detailController animated:YES completion:nil];

再次打印发现:

            2016-04-20 01:29:28.728 MTHD[6452:382311] -[MTDetailDealViewController initWithNibName:bundle:](114):
2016-04-20 01:29:28.729 MTHD[6452:382311] -[MTDetailDealViewController init](99):
2016-04-20 01:29:28.983 MTHD[6452:382311] -[MTDetailDealViewController loadView](95):
2016-04-20 01:29:28.983 MTHD[6452:382311] -[MTDetailDealViewController setDeal:](50):

设置ViewController 数据源无法改变view的更多相关文章

  1. iOS13适配/黑暗模式的适配/KVC访问私有属性/模态弹窗ViewController 默认样式改变 /LaunchImage即将废弃/蓝牙的权限申请/推送Device Token适配/UIKit 控件变化/StatusBar新增样式

    目录 1. KVC访问私有属性 2. 模态弹窗ViewController 默认样式改变 3. 黑暗模式的适配 4. LaunchImage即将废弃 5. 新增一直使用蓝牙的权限申请 6. Sign ...

  2. loaded the "ViewController" nib but the view outlet was not set.'

    错误代码: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[U ...

  3. 三种方式设置特定设备UWP XAML view

    开发者可以设置UWP特定设备xaml view,在桌面,手机,Iot,这个对于设置对不同设备的不同屏幕有用.我们可以使用RelativePanel,VisualStateTriggers,但是这样我们 ...

  4. 在Storm的Toplogy中设置多数据源Spout

    上代码:主要看main方法中的设置.   如下代码是一般情况下的设置方法...Trident中设置多数据源看对应的博客总结 /** * 指定多个数据源 * 数字累加求和 * 先添加storm依赖 */ ...

  5. Android 在onActivityResult()中设置图片setImageResource(resId) 或者改变view属性,不成功的解决办法

    如果试验过的朋友就会发现,在onActivityResult()中设置这些属性,好像都不工作,虽然我死磕一番还是不知道具体原因,我直接默认它可能就是不能在里面设置,所以就只能在其他地方设置,幸好发现A ...

  6. 通过通知监听键盘的状态来改变View的位置

    #import "ViewController.h" @interface ViewController ()<UITextFieldDelegate>{    UIV ...

  7. js 实现angylar.js view层和model层双绑定(改变view刷新 model,改变model自动刷新view)

    近段时间研究了下angular.js 觉得它内部实现的view和model层之间存在很微妙的关系,如下图 如上图说的,view的改变会update 数据层model, 数据层会update视图层vie ...

  8. iOS开发-设置在使用NavigateController时View的顶部位置

      最近我在开发中遇到了一个问题,在使用NavigationController时内部的ViewController的View总是与屏幕顶部对齐,而我们有时候不需要这种效果: 在开发过程中,我们可能会 ...

  9. weblogic 优化设置 http://wenku.baidu.com/view/c42e7a5bbe23482fb4da4cf2.html

    引自:http://wenku.baidu.com/view/c42e7a5bbe23482fb4da4cf2.html

随机推荐

  1. jQuery.Deferred对象

    一.前言 jQuery1.5之前,如果需要多次Ajax操作,我们一般会使用下面的两种方式: 1).串行调用Ajax $.ajax({ success: function() { $.ajax({ su ...

  2. bzoj 1014: [JSOI2008]火星人prefix hash && splay

    1014: [JSOI2008]火星人prefix Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3154  Solved: 948[Submit][ ...

  3. BZOJ 3994 约数个数和

    Description 设\(d(x)\)为\(x\)的约数个数,给定\(N,M\),求\[\sum_{i=1}^{N}\sum_{j=1}^{M}d(ij)\]. Input 输入文件包含多组测试数 ...

  4. 开启Eclipse 智能感知代码功能

    1.打开windows->Perferences..窗口,选择java->Editor->Content Assist,在右下方的“Auto Activation triggers  ...

  5. MVC自学系列之二(MVC控制器-Controllers)

      Controllers的职责 1.MVC模式中的Controllers的职责是对用户的输入做出响应,对用户的输入在实体上做一些变化.它关心的是应用的流动,处理传入的数据,并给相关的View提供数据 ...

  6. hibernate api

    http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/

  7. Linux Kernel ‘perf’ Utility 本地提权漏洞

    漏洞名称: Linux Kernel ‘perf’ Utility 本地提权漏洞 CNNVD编号: CNNVD-201309-050 发布时间: 2013-09-09 更新时间: 2013-09-09 ...

  8. 【转】Android Fragment 基本介绍--不错

    原文网址:http://www.cnblogs.com/mengdd/archive/2013/01/08/2851368.html Fragment Android是在Android 3.0 (AP ...

  9. 【转】Java中如何遍历Map对象的4种方法

    原文网址:http://blog.csdn.net/tjcyjd/article/details/11111401 在Java中如何遍历Map对象 How to Iterate Over a Map ...

  10. 如何理解这段代码:void (*signal (int sinno,void(*func)(int)))(int)

    void (*signal (int sinno,void(*func)(int)))(int) 先来看void(*func)(int)   这里的意思是声明一个函数指针func,它的参数类型为int ...