在新浪微博项目的首页部分,顶部的TabBar遇到一个使用场景,当用户第一次登录App的时候,App要从新浪的服务器获取用户的用户名信息,然后将其显示在TabBar,由于从登录到获取到用户名存在一个小小的时间差,网络不稳定时时间差会比较大,这时TabBar应该显示的是“首页”,获取到用户名时才替换掉“首页”;而当用户第二次打开App时,App需要再一次从服务器获取数据,首页顶部的TabBar在从服务器获取用户数据的时候不应该显示“首页”,而应当显示上一次用户退出App时的用户名,然后通过与重新从服务器获取到的用户名进行比对,如果发现用户修改了用户名,再将重新获取到的用户名赋给TabBar,实现该场景就需要判断App之前是否保存过用户名,通过简单的三目运算符便可以轻松解决,不但使程序变得简洁,而且也提高了运算效率。
基本格式为:(关系表达式)?表达式1:表达式2
执行的流程为:如果关系表达式为真,则返回表达式1,反之则返回表达式2
示例代码:
<pre>
<code>[titleButton setTitle:name?name:@"首页" forState:UIControlStateNormal];</code>
</pre>
小结
以上方法是针对近期自学新浪微博项目的一点小小总结,行笔简陋,如有错误,望指正。