ios-下面两种写法的区别是什么

问题描述

下面两种写法的区别是什么
@interface XXX ()    @property (strong nonatomic) UITableView *tableView;@end@implementation XXX    - (void)viewDidLoad    {        self.tableView = [[UITableView alloc]initWithFrame:self.view.bounds];        //vs 这两种写法的区别是什么? 有什么好处?        UITableView *tbView = [[UITableView alloc]initWithFrame:self.view.bounds];        self.tableView = tbView;    }   end@end

解决方案

实际上没什么不同. 另一方面:

self.tableView = [[UITableView alloc]initWithFrame:self.view.bounds];

这将分配给你的UIViewController属性。这意味着你可以在你的UIViewController内部和外部任何地方访问它。(虽然我不建议这样做。)

UITableView *tbView = [[UITableView alloc]initWithFrame:self.view.bounds];

这个将创建一个只会保持活动状体的viewDidLoad变量,但是在下一行:

self.tableView = tbView;

又是一个引用,就又回到了第一个。

解决方案二:
实际上这两个方法没什么不同。第一个直接分配init给property,另外一个先分配init给实例变量,然后分配给property

时间: 2024-08-29 07:55:05

ios-下面两种写法的区别是什么的相关文章

ios-(IOS)这两种写法有什么区别???

问题描述 (IOS)这两种写法有什么区别??? 两种写法有一种运行后加载不了数据...第一种:-(NSArray *)messageFrames{ if (_messageFrames == nil) { NSArray *messages = [Message messagesList]; NSMutableArray *temArray =[NSMutableArray array]; for (Message *msg in messages) { MessageFrame *msgfra

Java范型的两种写法

1.原始的DAO层的类: package com.test; public class UserDao { public void add(User user){ //.保存实体的代码 } public User get(int id) { //.查询实体的代码 return null; } } 其中,User类代码比较简单,如下: package com.test; public class User { private int id; private String name; public

select-link中这样两种写法有什么区别?

问题描述 link中这样两种写法有什么区别? var query = from x in table select x; foreach (var item in x) { ... } foreach (var item in table) { ... } 解决方案 两种写法一样,而且性能也一样

状态机的两种写法

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软 件上称为FMM--有限消息机).它把复杂的控制逻辑分解成有限个稳定状态,在每个状态 上判断事件,变连续处理为离散数字处理,符合计算机的工作特点.同时,因为有限状 态机具有有限个状态,所以可以在实际的工程上实现.但这并不意味着其只能进行有限 次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的 事务.     有限状态机的工作原理如图1所示,发生事件(event)后,根据当前状态(cur_st

位图-下面两种写法的区别,为什么第一种会报错?

问题描述 下面两种写法的区别,为什么第一种会报错? 第一种 BitmapFactory.decodeStream(conn.getInputStream()); 第二种 InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decodeStream(is); 解决方案 没有看出有什么不同,InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decode

windows系统中,cleartype和平滑屏幕字体边缘,这两种技术的区别是啥?

问题描述 windows系统中,cleartype和平滑屏幕字体边缘,这两种技术的区别是啥? windows系统中,cleartype和平滑屏幕字体边缘,这两种技术的区别是啥? 解决方案 其实这个技术没什么特别的,无非就是通过在字体的边缘根据前景色背景色填充一些过渡的像素点,让文字的锯齿感不那么强. 解决方案二: cleartype是微软为这种技术申请的商品名 平滑屏幕字体边缘是这个技术的一个应用(cleartype还可以平滑打印输出的文字, )

java-这两种写法有什么差别???请大家帮忙看一看

问题描述 这两种写法有什么差别???请大家帮忙看一看 public void getBenjin() { if (null != benjin.getText()) { benjinD = Double.parseDouble(benjin.getText().toString()); } } public void getLilv() { if (null != lilv.getText()) { lilvD = Double.parseDouble(lilv.getText().toStri

C# 浮点数强制转换为整数,两种写法结果不一样

问题描述 floata=70.075f;intbb=(int)(a*1000);floatc=a*1000;intcc=(int)c;上面的代码按理说得到的cc和bb应该一样,但实际上bb的结果为70074,cc结果是70075.很疑惑这两种写法上有什么区别,为什么会导致这样的问题?请大神分析一下. 解决方案 解决方案二:都75啊楼主你电脑坏了吧解决方案三:framework4.0刚刚测试,结果都是70075解决方案四:引用1楼shingoscar的回复: 都75啊楼主你电脑坏了吧 解决方案五:

link以下两种写法结果一样,有什么区别?

问题描述 link以下两种写法结果一样,有什么区别? 写法1: scores.GroupBy(x=>x.StuID).OrderBy(x =>x.Sum()).ThenBy(x => x.Key) 写法2: scores.GroupBy(x=>x.StuID).OrderBy(x =>x.Key).OrderBy(x=>x.Sum()) 解决方案 写法2不推荐,理论上这个结果和写法1一样,但是基于这样一个假设,那就是OrderBy执行的是稳定的排序. 所谓稳定的排序,就