忙了一天,整理一下。

    先说内存释放的问题,由于还是使用非ARC的方式,所以还需要自己解决内存释放的问题,自定义UINavigationItem,还使用了一个类变量,这个类变量实在是不应该使用的。而且我自己手贱,还给释放了一下,所以出错了。谨记类变量只在dealloc中释放。

    关于属性和实例变量,未定义属性的实例变量,创建的时候要记得拥有创建的对象,如果使用autorelease释放会出问题,注意NSArray,NSDictionary这类有简写的类别,如@[], @[key:value.....],这种情况要retain一下。

     iOS7中,已modal的方式弹出viewcontroller之后,网络请求之后根据结果撤销modalview,在弹出一个UIActionSheet在self.view之上,报错。网络请求的返回结果虽然已经回到了主线程,但是这时候,modal的viewcontroller是没有完成dismiss的,所以做一个简单的delay就可以规避这个问题。

     UIImagePickerViewController,从图片库中选择图片,这个是有navigationbar的delegate,实现方法:

p_w_picpathPickerController.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
}

拷贝到工程目录下执行就好了。