你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> iOS 小知識點(持續更新)

iOS 小知識點(持續更新)

編輯:IOS技巧綜合
[摘要]本文是對iOS 小知識點(持續更新)的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

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方法中分別負責各自的實例化處理,代碼彼此之間的獨立性強,松耦合

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved