这两者之间是否有区别,哪一个可能更好或更快或在以下方面有任何优势:
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
和:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
(当然,它们都显示相同的结果!)
这两者之间是否有区别,哪一个可能更好或更快或在以下方面有任何优势:
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
和:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
(当然,它们都显示相同的结果!)
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
使用类似于构造函数的init方法,内部调用.title
方法。
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
第一条语句创建一个标题为 nil 的对象 alertBox。在第二行中,您提供自己的标题。
对于性能:
第二个将创建另一个堆栈来执行第二个语句,因此两个额外的 cpu 处理推送和弹出。第一个会更快,但使用多核处理器,调用时间真的可以协商。
性能上并没有真正的区别,一个是在初始化时设置标题,实际上只是调用了alertBox.title
自定义初始化方法中的那一行代码。他们拥有该.title
属性的原因是您可以更改它。
所以这段代码:
UIAlertView * alertBox = [[UIAlertView alloc] initWithTitle:@"Title"];
与此代码相比会更好:
UIAlertView * alertBox = [[UIAlertView alloc] init];
alertBox.title = @"Title";
只是因为行数,但您可以使用以下代码:
alertBox.title = @"New Title";
以后去改
如果速度有差异,你需要一个普朗克第二个计算器来测量它:) - 那里有一些很好的夸张,但基本上没有
对于内存,没有区别,因为您title
在两种情况下都在初始化一个对象并设置它的参数,只是不同的方法。将第一个视为您编写它的更短的方式,但实际的类基本上会做同样的事情。
使用构造函数自定义初始化方法对您的时间和行数来说更有效,但没有别的——我的判断
哪个更有优势?也不是,因为您使用的是警报视图,所以我讨厌它们!
前者可能稍微快一些,但是如果你正在优化这样的东西,你就犯了一个错误。显示警报是您不经常做的事情,之后您会立即等待用户响应。将其缩短几微秒并没有任何好处,它绝对不会对应用程序的运行方式产生明显的影响。作为开发人员,请使用对您来说更清晰的内容。
第一行是你写出来的更少的代码,两者都做同样的事情,并且是 UIAlertView 的构造函数。在我看来,从第一行开始构造构造函数更容易,因为它都在一行中,而不是稍后再添加每个属性。