美文网首页
iOS 拾遗 (一)

iOS 拾遗 (一)

作者: 木兮_君兮 | 来源:发表于2019-03-28 13:19 被阅读0次
  1. UIImage 加载方式问题,影响性能。
  • imageNamed: 从内存中加载图片会影响性能 (图片size比较小,经常用的)
  • imageWithContentOfFile: 不是从内存中加载,从bundle资源中进行加载
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon”ofType:@”png”];
myImage = [UIImage imageWithContentsOfFile:path];
  • [[NSImage alloc] initWithContentsOfURL:] :通过路径加载图片
  1. NSInvocation 作用 ?

用来封装一段代码的。

用法

- (void)viewDidLoad {
    [super viewDidLoad];

    //方法属于谁就用谁来创建
    NSMethodSignature*signature = [ViewController instanceMethodSignatureForSelector:@selector(sendMessageWithNumber:WithContent:)];
    //NSInvocation对象
    NSInvocation*invocation = [NSInvocation invocationWithMethodSignature:signature];
    invocation.target = self;
    //invocation中的方法必须和签名中的方法一致。
    invocation.selector = @selector(sendMessageWithNumber:WithContent:);
    /*第一个参数:需要给指定方法传递的值
           第一个参数需要接收一个指针,也就是传递值的时候需要传递地址*/
    //第二个参数:需要给指定方法的第几个参数传值
    NSString*number = @"1111";
    //注意:设置参数的索引时不能从0开始,因为0已经被self占用,1已经被_cmd占用
    [invocation setArgument:&number atIndex:2];
    NSString*number2 = @"啊啊啊";
    [invocation setArgument:&number2 atIndex:3];
    //2、调用NSInvocation对象的invoke方法
    //只要调用invocation的invoke方法,就代表需要执行NSInvocation对象中制定对象的指定方法,并且传递指定的参数
    [invocation invoke];
}
 - (void)sendMessageWithNumber:(NSString*)number WithContent:(NSString*)content{
    NSLog(@"电话号%@,内容%@",number,content);
}

相关文章

  • iOS 底层拾遗:objc_msgSend 与方法缓存

    iOS 底层拾遗:objc_msgSend 与方法缓存iOS 底层拾遗:objc_msgSend 与方法缓存

  • iOS拾遗——为什么必须在主线程操作UI

    iOS拾遗——为什么必须在主线程操作UI iOS拾遗——为什么必须在主线程操作UI

  • iOS 拾遗 (一)

    UIImage 加载方式问题,影响性能。 imageNamed: 从内存中加载图片会影响性能 (图片size比较小...

  • iOS面试 - 收藏集 - 掘金

    KVC 与 KVO 拾遗补缺 - iOS - 掘金KVC 和 KVO 是 Cocoa 框架提供的一个非常强的特性,...

  • 拾遗神兽目录

    拾遗神兽(番外篇)黑猫 拾遗神兽(1)水晶心的梦 拾遗神兽(2)新宠 拾遗神兽(3)初次交锋猫大爷 拾遗神兽(4)...

  • iOS拾遗001

    目录 用GCD的方式来实现单例 TabBar的图片显示原始样貌而非变为默认的蓝色- (UIImage *)imag...

  • iOS拾遗002

    目录 正确显示TabBar上的小图标 拉伸图片 设置导航条中间标题文字颜色和字体 NSJSONReadingOpt...

  • iOS面试总结-基础

    [toc] 主要是一些视频笔记和面试时候常问到的问题记录。(持续更新) 为什么要在主线程更新UI iOS拾遗——为...

  • iOS 底层拾遗:AutoreleasePool

    前言 在阳神的 黑幕背后的Autorelease 文章中已经把 AutoreleasePool 核心逻辑讲明白了,...

  • iOS 底层拾遗:AutoreleasePool

    前言 在阳神的 黑幕背后的Autorelease 文章中已经把 AutoreleasePool 核心逻辑讲明白了,...

网友评论

      本文标题:iOS 拾遗 (一)

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