国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

iOS性能優(yōu)化筆記

2019-11-14 19:27:11
字體:
供稿:網(wǎng)友

 

這邊博客主要是學習 博主全棧工程獅 的《IOS性能調(diào)優(yōu)系列:Analyze靜態(tài)分析》 后的實踐,最近公司的項目上架并沒有做性能的調(diào)優(yōu),故此在此記錄,以便以后使用,在此感謝博主 全棧工程獅  寫的精彩博文

(引用)Analyze主要分析以下四種問題:

1、邏輯錯誤:訪問空指針或未初始化的變量等;

2、內(nèi)存管理錯誤:如內(nèi)存泄漏等;

3、聲明錯誤:從未使用過的變量;

4、Api調(diào)用錯誤:未包含使用的庫和框架。

進過測試存在的問題:

1. 未用過的變量

2. 在一個類的實例方法中,沒有對類進行init就進行訪問他的成員變量 出現(xiàn) 

 instance variable used while "self" is not set to the result of [(super or self) init 
 
代碼如下
 - (id)initWithStyle:(HZAreaPickerStyle)pickerStyle withDelegate:(id <HZAreaPickerDelegate>)delegate
{
    self = [[[NSBundle mainBundle] loadNibNamed:@"HZAreaPickerView" owner:self options:nil] objectAtIndex:0] ;
    //self = [super init];  添加這一句后就OK了,而且上面這一句不能跟下面這一句調(diào)換,調(diào)換就會出現(xiàn)一樣的提示,如果沒有上面這一句,直接寫這一句就不會給錯這樣的問題,但是視圖是沒有載入,還有寫在if的里面也是一樣的報這樣的問題。按照分析這里錯誤是屬于第一類,也就是說類不進行init肯定是沒法使用他的成員變量的,而且上面這一句方法是沒有調(diào)用類的init方法的 只是簡單的給一屬性值,這里可以查看API文檔具體上一句的實現(xiàn)機制。
1. 載入的nib文件其實都是xml 文件,我們設計好之后被歸檔,然后調(diào)用上面的方法會進行解歸檔(在程序運行時期)
    if (self) {
        self.delegate = delegate;
        self.pickerStyle = pickerStyle;
        self.locatePicker.dataSource = self;
        self.locatePicker.delegate = self;
        //加載數(shù)據(jù)
        if (self.pickerStyle == HZAreaPickerWithStateAndCityAndDistrict) {
            
            cities = [[provinces objectAtIndex:0] objectForKey:@"cities"];
            self.locate.state = [[provinces objectAtIndex:0] objectForKey:@"provinceName"];
            self.locate.stateID = [[provinces objectAtIndex:0] objectForKey:@"provinceId"];
            self.locate.city = [[cities objectAtIndex:0] objectForKey:@"cityName"];
            self.locate.cityID = [[cities objectAtIndex:0] objectForKey:@"cityId"];
            areas = [[cities objectAtIndex:0] objectForKey:@"counties"];
            if (areas.count > 0) {
                
                self.locate.district = [[areas objectAtIndex:0] objectForKey:@"countyName"];
                self.locate.districtID = [[areas objectAtIndex:0] objectForKey:@"countyId"];
            } else{
                self.locate.district = @"";
                self.locate.districtID = @"";
            }
        } else{
            provinces = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ZH_area.plist" ofType:nil]];
            cities = [[provinces objectAtIndex:0] objectForKey:@"cities"];
            self.locate.state = [[provinces objectAtIndex:0] objectForKey:@"provinceName"];
            self.locate.city = [[cities objectAtIndex:0] objectForKey:@"cityName"];
        }
    }
        
    return self;
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼和浩特市| 卢氏县| 和硕县| 孙吴县| 宽甸| 屯昌县| 垣曲县| 确山县| 太保市| 应用必备| 巴南区| 保山市| 噶尔县| 隆昌县| 镇平县| 棋牌| 长寿区| 前郭尔| 蓬安县| 康定县| 大荔县| 高邮市| 海南省| 得荣县| 华蓥市| 永兴县| 万宁市| 新泰市| 保康县| 洛阳市| 噶尔县| 南靖县| 桐乡市| 沽源县| 镇沅| 平泉县| 塔城市| 安新县| 行唐县| 黔南| 泾川县|