IOS 小技巧
IOS 小技巧
1. 使用@property和@synthesize聲明一個成員變量,給其賦值是時要在前面加上"self.",以便調用成員變量的setmember方法。?? ? ?直接調用成員變量并且給其賦值:member=[NSString stringWithFormat:@””];將不執行setmember 方法。
? ? ?使用self調用成員變量并且給其賦值:self.member=[NSString stringWithFormat:@””];將執行setmember方法。
2.延時函數: [NSThread sleepForTimeInterval:3];
? ? ?[self performSelector:@selector(machineBallAction) withObject:nil afterDelay:0];
3.實現隨機數:srandom(time(NULL));
4. #pragma mark -
? ? ??#pragma mark Initialization
? ? ?它們告訴Xcode編譯器,要在編輯器窗格頂部的方法和函數彈出菜單中將代碼分隔開;
注意
? ? ?#pragma mark – 的“-”后面不能有空格。
? ? ?如果你的標志沒有出現在彈出菜單中,比如沒有分隔線出現,請在Xcode菜單 “Preferences..”中的 “Code Sense”選項取消選中”Sort listalphabetically”即可。
5. ?我們通過發送消息給對象出發特定動作;對象發送某些變化的時候通過回調函數(callback)通知我們。對象在特定事件發生的時候,就會調用對應的回調函數,觸發業務邏輯。
? ? ?回調函數通過所謂的代理(Delegation)來實現.
? ? ?delegate使用方法:
? ? ?@property (assign) <id>xxxDelegate delegate;
? ? ?正確的使用方法是使用assign屬性而不是retain。
? ? ?之所以對于delegate這類對象使用assign而不是用retain是為了防止循環retain(retain loop)。
? ? ?具體原因請移至:http://www.cnblogs.com/kimimaro/archive/2011/09/05/2167576.html
6. 編程習慣:定義Bool類型值時,@property(nonatomic,getter=isSoundOn) BOOL soundOn;
7.手動創建內存自動釋放池:
? ? ? ?NSAutoreleasePool?*pool = [[NSAutoreleasePoolalloc]init];
? ? ? ?// TODO
? ? ? ?// 向對象發送一條autorelese消息時,就將該對象加入到自己手動創建的內存釋放池中。在此方法結束時調用[pool?release],將釋放添加到該內存池的所有對象.
? ? ? ?[pool?release];
? ? ? ?//?如若在自動釋放池pool 調用release方法之后,某對象的retainCount不為0,該對象將繼續保持可用。
8.任何基本數據類型(包括char數據類型),可以通過使用NSNumber類根據這些數據類型來創建對象。
? ? ? ?
[cpp]?view plaincopyprint?9. 當把某一個對象以AddObject或者初始化的形式加入到Array,Dictionary中時,該對象retainCount將+1。
? ? ?當把某一個對象以remover的形式從Array,Dictionary移除時,該對象retainCount將-1。
? ? ?當使用copy 和mutableCopy 產生數組副本時,數組中每個元素的保持計數將+1。
10. 異常:exc_bad_access.
? ? ? ?引用對象已經釋放,即“魔鬼引用”。與VS中的“未將引用的對象應用到對象的實例”類似。
11. 更新UITableView數據問題:
? ? ? ? 采用Sqlite3輕量級數據庫來存儲數據,通過調試發現,數據庫中數據已更新,但UITableView并沒有更新。
? ? ? ? 解決方法:performSelectorOnMainThread:@selector(reloaddata) withObject:nil waitUntilDone:YES
? ? ? ? ? ? ? ? ?但datasource并沒有數據,需要重新加載數據。
轉載于:https://www.cnblogs.com/csj007523/archive/2012/08/22/2650863.html
總結
- 上一篇: sqlserver 实现伪序列
- 下一篇: 批量离线下载迅雷快传资源