美文网首页
iOS实战小知识

iOS实战小知识

作者: Eddiegooo | 来源:发表于2019-07-14 17:50 被阅读0次

    1.判断当前界面

    [self isViewLoaded] && ![[self view] window]  
    

    2.客户端手势解锁、后台进入输入密码界面、启动页介绍、应用内通知提醒消息、应用内弹窗。 都可以使用UIWindow。 自定义window 继承UIWindow来实现。

    3.block不要滥用
    控件与VC通讯,代理delegate更加安全。
    类方法绝对不会产生循环引用,建议使用block。 例如系统的动画API。
    GCD里也不用weak,因为系统明确已经处理了,如果你使用weak,还可能会造成对象提前释放等异常crash。

    4.Xcode 快捷键
    1.cmd + shift +O: 快速查找类,直接跳转到类的源代码中。 多数用来查找当前工程的类。
    2.Ctrl + 6: 在当前文件中查找方法,可以输入关键字过滤
    3.cmd +ctrl + up:.h 与 .m切换
    4.cmd + shift + y:控制台console 的隐藏与显示
    5.cmd + Ctrl +Left/Right:在最近两次编辑(文件)位置跳转
    6.cmd + shift + [ : tab栏之间切换
    7.cmd + 1/2/3: 在模拟器上,切换模拟器比例

    5.App路径


    app 路径.png

    Documents目录用于保存App的数据,包括App运行时需要的各类文件以及用户的数据等。
    Documents文件夹可以在连接iTunes时选择备份,通常Documents目录用来存放可以对外的文件。
    Library目录用来保存不对外的数据,但同样可以被iTunes备份(Library/Caches目录除外,原因就和目录名一样,里面应该只放Caches)。
    Library/Caches目录用来放置运行时产生的临时文件以及缓存文件,空间不足时可能会被iOS系统删除。
    Library/Preferences目录通常用于保存用户的设置等信息,比如我们常用的NSUserDefaults类就会以plist的方式保存在该目录中。
    tmp目录用来保存不重要的临时文件,在系统重启后会被清空,容易知道这个也不会被iTunes备份。

        //获取沙盒根目录方法
        NSString *Path = NSHomeDirectory();
        NSLog(@"沙盒根路径 = %@", Path);
        NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSLog(@"Document Path Array  %@", pathArray);
        NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
        NSLog(@"Document Path = %@",documentPath);
        NSArray *libArray = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
        NSLog(@"library array = %@", libArray);
        NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
        NSLog(@"library path = %@", libraryPath);
        // 获取cache目录路径
        NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];
        NSLog(@"cache path = %@", cachesDir);
        // 获取tmp目录路径
        NSString *tmpDir =NSTemporaryDirectory();
        NSLog(@"temp path = %@", tmpDir);
    

    通过打印路径可以知道,路径Array,就只包含那个一个路径。

    相关文章

      网友评论

          本文标题:iOS实战小知识

          本文链接:https://www.haomeiwen.com/subject/yxyexctx.html