iOSiOS进阶iOS面试总结

iOS - 面试总结

2019-03-02  本文已影响1人  神灬渐入嘉靜
  1. ARC是在预编译期、编译期、运行时进行的代码填充?
  1. mmkv为什么性能有优势
  1. iOS开发图片使用png jpg的区别
  1. fps怎么实现
  1. 利用runloop可以做的一些事情:
  1. dispatch_barrier_async作用
    只有当栅栏函数执行完毕后才能执行后面的函数,栅栏函数不能使用全局并发队列

  2. 单例调用alloc/new方法创建出的对象内存空间一致吗?
    改写allocWithZone使得alloc出的空间一致

static LPCTestClass *instance = nil;

+ (instancetype)sharedInstance
{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        instance = [[[self class] alloc] init];
    });
    return instance;
}

+ (instancetype)allocWithZone:(struct _NSZone *)zone
{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        instance = [super allocWithZone:zone];
    });
    return instance;
}
  1. 常用的设计模式

9.iOS应用程序间怎么实现共享数据

- (void)setAppGroup
{
    NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.godlike.shareData"];
    [defaults setObject:@"data" forKey:@"yourKey"];
}
- (void)getByAppGroup
 {
    NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.godlike.shareData"];
    NSString *content = [defaults objectForKey:@"yourKey"];
}
    UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"customPasteboard" create:YES];
    pasteboard.string = @"shareData";

    UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"customPasteboard" create:NO];
    NSString *content = pasteboard.string;
  1. 沙盒路径下的文件夹作用
  1. SDWebImage 概论
上一篇 下一篇

猜你喜欢

热点阅读