iOS7 彈出UIActionSheet,UIImagePickerViewController的navigationbar代理,搜索未用到的圖片

    忙了一天,整理一下。

    先說內存釋放的問題,由於還是使用非ARC的方式,所以還需要自己解決內存釋放的問題,自定義UINavigationItem,還使用了一個類變量,這個類變量實在是不應該使用的。而且我自己手賤,還給釋放了一下,所以出錯了。謹記類變量只在dealloc中釋放。

    關於屬性和實例變量,未定義屬性的實例變量,創建的時候要記得擁有創建的對象,如果使用autorelease釋放會出問題,注意NSArray,NSDictionary這類有簡寫的類別,如@[], @[key:value.....],這種情況要retain一下。

     iOS7中,已modal的方式彈出viewcontroller之後,網絡請求之後根據結果撤銷modalview,在彈出一個UIActionSheet在self.view之上,報錯。網絡請求的返回結果雖然已經回到了主線程,但是這時候,modal的viewcontroller是沒有完成dismiss的,所以做一個簡單的delay就可以規避這個問題。

     UIImagePickerViewController,從圖片庫中選擇圖片,這個是有navigationbar的delegate,實現方法:

imagePickerController.navigationController.delegate = self;
-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

這裏面去替換navigationbar的屬性,還不如直接用系統原生,或者直接自定義。

       最後,搜索整個工程中用不到的圖片文件,打印出來,shell如下:

files=`find . \( -name "*.png" -or -name "*.jpg" \)`;
for file in $files
{
    filename=${file##*/};
    nosuffilename=${filename/@2x/};
    result=`find . \( -name "*.xib" -or -name "*.m" -or -name "*.h" -or -name "*.plist" \) | xargs grep -E "$filename|$nosuffilename"`;
    if [ -z "$result" ];then
        echo $file;
        fi
}

拷貝到工程目錄下執行就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章