在新浪微博項目的首頁部分,頂部的TabBar遇到一個使用場景,當用戶第一次登錄App的時候,App要從新浪的服務器獲取用戶的用戶名信息,然后將其顯示在TabBar,由于從登錄到獲取到用戶名存在一個小小的時間差,網絡不穩定時時間差會比較大,這時TabBar應該顯示的是“首頁”,獲取到用戶名時才替換掉“首頁”;而當用戶第二次打開App時,App需要再一次從服務器獲取數據,首頁頂部的TabBar在從服務器獲取用戶數據的時候不應該顯示“首頁”,而應當顯示上一次用戶退出App時的用戶名,然后通過與重新從服務器獲取到的用戶名進行比對,如果發現用戶修改了用戶名,再將重新獲取到的用戶名賦給TabBar,實現該場景就需要判斷App之前是否保存過用戶名,通過簡單的三目運算符便可以輕松解決,不但使程序變得簡潔,而且也提高了運算效率。
示例圖1
示例圖2
基本格式為:(關系表達式)?表達式1:表達式2
執行的流程為:如果關系表達式為真,則返回表達式1,反之則返回表達式2
示例代碼:
<pre>
<code>[titleButton setTitle:name?name:@"首頁" forState:UIControlStateNormal];</code>
</pre>
小結
以上方法是針對近期自學新浪微博項目的一點小小總結,行筆簡陋,如有錯誤,望指正。