1、如何通過代碼設置Buttontitle的字體大小
設置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#>] ;
2、獲取當前時間
NSDate *timeDate=[NSDate date]; NSDateFormatter * dateformatter=[[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@"YYYYMMddHHmmsssss"]; NSString *locationString=[dateformatter stringFromDate:timeDate];
3、判斷字符串是否為空字符的方法
- (BOOL) isBlankString:(NSString *)string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) { return YES; } return NO; }
4、tableView優化
//刷新整個表格 [_tableView reloadData]; //刷新當前行 [_tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
5、百度地圖自定義大頭針圖片
- (BMKAnnotationView *)mapView:(BMKMapView *)view viewForAnnotation:(id <BMKAnnotation>)annotation { // 生成重用標示identifier static NSString *AnnotationViewID = @"AnnotationViewID"; // 檢查是否有重用的緩存 BMKAnnotationView* annotationView = [view dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID]; ((BMKPinAnnotationView*)annotationView).pinColor = BMKPinAnnotationColorGreen; annotationView.image = [UIImage imageNamed:@"XXX.png"]; }
6、iOS APP上架所需要的 屏幕尺寸
640*960、640*1136、750*1334、1242*2208
7、iOS APP 圖標的尺寸
58*58、80*80、120*120、180*180
8、
蘋果公司賬號申請: 這個是申請方法:http://jingyan.baidu.com/article/0320e2c1d153161b87507bba.html 這個是官網:https://developer.apple.com/enroll/organization/9、關閉定時器
[_myTimer invalidate];
_myTimer=nil;
10、鍵盤釋放第一響應
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
11、點擊UITableViewCell時,沒有點擊效果,
在cellForRowAtIndexPath:方法中寫上
cell.selectionStyle = UITableViewCellSelectionStyleNone;
12、使用NSJSONSerialization 返回的對象,取決於最外層是什麼,如果是{}那就是字典,[]那就是數組等
13、只支持豎屏,修改info.plist 文件就可以了。找到"Supported interface orientations" 設置item 項為Portrait就可以了。這個設置為全局設置。
14、iOS開發
先搭框架,後畫界面,寫功能,寫接口,調試,寫適配
iOS 開發文檔 流程圖 UI 框架 接口 功能 適配 測試 更改
iOS 初級開發工程師 C語言基礎+swift語言基礎
中級iOS開發工程師 iOS項目開發+UI部分+動畫圖層部分
15、ViewController的生命周期中各方法執行流程如下:
init—>loadView—>viewDidLoad—>viewWillApper—>viewDidApper—>viewWillDisapper—>viewDidDisapper—>viewWillUnload->viewDidUnload—>dealloc
16、GCD
1)運行在主線程的Main queue,通過dispatch_get_main_queue獲取。
2)並行隊列global dispatch queue,通過dispatch_get_global_queue獲取,由系統創建三個不同優先級的dispatch queue。並行隊列的執行順序與其加入隊列的順序相同。
3)串行隊列serial queues一般用於按順序同步訪問,可創建任意數量的串行隊列,各個串行隊列之間是並發的。
17、Xcode項目中我們經常遇到因為空數據(服務器傳回來的數據通過JsonKit解析為之類的)導致內存洩漏進而程序崩潰的現象,這個在之前學校的時候就被坑了很多次,所以有必要封裝一個非空處理的類,由於能力有限,查看一些網上的資料,想到采用遞歸的方式處理。
解決辦法:一個老外早已在Githud有了空處理的神器:https://github.com/nicklockwood/NullSafe,只要將這個類別(Category)加入項目中就可萬事無憂,由於裡面代碼我也不太懂,所以大家自己研究下哈。
18、讀取plist文件
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"provinces.plist" ofType:nil];
NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];
// 加載plist數據 // 一個NSBundle對象對應一個資源包(圖片、音頻、視頻、plis等文件) // NSBundle的作用:用來訪問與之對應的資源包內部的文件,可以用來獲得文件的全路徑 // 項目中添加的資源都會被添加到主資源包中 // [NSBundle mainBundle]關聯的就是項目的主資源包 NSBundle *bundle = [NSBundle mainBundle]; // 利用mainBundle獲得plist文件在主資源包中的全路徑 NSString *file = [bundle pathForResource:@"shops" ofType:@"plist"]; // NSString *file = [bundle pathForResource:@"shops.plist" ofType:nil]; // 凡是參數名為File,傳遞的都是文件的全路徑 shopsArray = [NSArray arrayWithContentsOfFile:file];
19、懶加載:用到時再去加載,而且也只加載一次
(1).懶加載基本
懶加載——也稱為延遲加載,即在需要的時候才加載(效率低,占用內存小)。所謂懶加載,寫的是其get方法.
注意:如果是懶加載的話則一定要注意先判斷是否已經有了,如果沒有那麼再去進行實例化
(2).使用懶加載的好處:
好處一:不必將創建對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強
好處二:每個控件的getter方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,松耦合