小编Evi*_*oer的帖子

UIImage的线程安全性

我知道Apple正式建议UIKit仅用于主线程.但是,我也听说过自iOS 4.0以来UIImage是线程安全的.我找不到支持此声明的任何文档.

有没有人有任何信息来支持这种说法?作为用于存储数据和解码图像数据的类,如果设计良好,UIImage应该是线程安全的.

objective-c thread-safety ios

5
推荐指数
2
解决办法
4301
查看次数

在Objective C中,如何通过反射找出方法的返回类型?

@interface Foo : NSObject {
}

- (Bar)bar;
Run Code Online (Sandbox Code Playgroud)

在运行时,给定[Foo类],我们如何找出Foo所有方法的返回类型?

我一直在研究Objective-C运行时API; 据我所知,没有办法获得方法或属性的返回类型(即Class).这似乎是任何反射API中的一个严重遗漏.

reflection runtime introspection objective-c

4
推荐指数
1
解决办法
3660
查看次数

子类中的窄类型属性

今天我遇到了一个奇怪的行为,我没想到Objective-C编译器会允许.

在UITableViewCell中,有一个名为imageView的属性为UIImageView.我将UITableViewCell子类化,并覆盖了imageView,除了我的AWImageView类型,其中AWImageView是UIImageView的子类.我认为它不会编译,但确实如此.一切正常.我对这种行为感到非常震惊.

是否缩小了正式允许的子类中的属性类型?或者这是Objective-C编译器中的一个错误,它使它工作?

objective-c ios

4
推荐指数
1
解决办法
1065
查看次数

在课堂上调用"保留"或"释放"有什么作用?

在Objective-C中,我们应该保留还是释放类型的变量Class吗?A Class是指向C结构的指针.

objective-c

2
推荐指数
1
解决办法
620
查看次数

CALayer 的图像未显示

我尝试使用 CALayer 显示图像,但图像未显示。我已经验证“image”不是 nil,image.size 是正确的,layer.contents 是一个有效的 CABackingStore。

- (void)viewDidLoad
{
  [super viewDidLoad];

  layer = [[CALayer alloc] init];
  [self.view.layer addSublayer:layer];
  UIImage *image = [UIImage imageNamed:@"download.jpeg"];
  layer.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
  layer.position = self.view.center;
  layer.contents = (id)image.CGImage;

  [layer setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

这里可能有什么问题?

objective-c ios

2
推荐指数
1
解决办法
2581
查看次数