- UIImage 加载方式问题,影响性能。
- imageNamed: 从内存中加载图片会影响性能 (图片size比较小,经常用的)
- imageWithContentOfFile: 不是从内存中加载,从bundle资源中进行加载
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon”ofType:@”png”];
myImage = [UIImage imageWithContentsOfFile:path];
- [[NSImage alloc] initWithContentsOfURL:] :通过路径加载图片
- 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);
}
网友评论