任何人都可以解释什么是NSRunLoop ? 所以我知道NSRunLoop是一个与NSThread连接的东西吗? 所以假设我创build了一个线程 NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil]; [th start]; -(void) someMethod { NSLog(@"operation"); } 所以这个线程完成后,他的工作权利? 为什么使用RunLoops或在哪里使用? 从苹果文档我已经看了一些东西,但不清楚,所以请尽可能简单解释
在Cocoa中,如果我想循环遍历一个NSMutableArray并删除符合某个条件的多个对象,那么每次删除一个对象时,如果不重新启动循环,最好的方法是什么? 谢谢, 编辑:只是为了澄清 – 我正在寻找最好的方式,例如比我手动更新索引更优雅。 例如在C + +我可以做; iterator it = someList.begin(); while (it != someList.end()) { if (shouldRemove(it)) it = someList.erase(it); }
有没有办法强制NSMutableArray只保存一个特定的对象types? 我有类的定义如下: @interface Wheel:NSObject { int size; float diameter; } @end @interface Car:NSObject { NSString *model; NSString *make; NSMutableArray *wheels; } @end 我怎样才能强制wheel数组只能用代码保持Wheel对象? (绝对不是其他的对象)
我在读NSArray就是这样的事情。 听起来很沉重。 在我的桌面上,我有7本关于Objective-C,Cocoa和C的真正胖书。没有一本书提到Class Cluster,至less我在书的后面找不到索引。 那是什么?
我有一个multithreading的应用程序,在我的所有testing机器上都非常稳定,似乎几乎每个用户都稳定(基于没有崩溃的抱怨)。 应用程序经常为一个用户崩溃,但是,谁发送崩溃报告。 所有的崩溃报告(~10个连续的报告)看起来基本相同: Date/Time: 2010-04-06 11:44:56.106 -0700 OS Version: Mac OS X 10.6.3 (10D573) Report Version: 6 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000002, 0x0000000000000000 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 com.apple.CoreFoundation 0x90ab98d4 __CFBasicHashRehash + 3348 1 com.apple.CoreFoundation 0x90adf610 CFBasicHashRemoveValue + 1264 2 com.apple.CoreText 0x94e0069c TCFMutableSet::Intersect(__CFSet const*) const […]
如何禁用显示在iPhone主页上的图标上的突出显示? 谢谢。
我想用一个颜色参考色调图像。 结果应该看起来像Photoshop中的Multiply混合模式,其中白色将被replace为tint : 我会不断地改变颜色值。 跟进:我会把代码在我的ImageView的drawRect:方法,这是什么? 与往常一样, 代码片段将大大有助于我的理解,而不是链接。 更新:使用代码Raminbuild议UIImageView的子类。 我把这个viewDidLoad:我的视图控制器: [self.lena setImage:[UIImage imageNamed:kImageName]]; [self.lena setOverlayColor:[UIColor blueColor]]; [super viewDidLoad]; 我看到图像,但没有被着色。 我也尝试加载其他图像,在IB中设置图像,并调用setNeedsDisplay:在我的视图控制器。 更新 :drawRect:没有被调用。 最后更新:我发现一个老的项目,有一个imageView设置正确,所以我可以testingRamin的代码,它的作品就像一个魅力! 最后,最后更新: 对于那些刚学习Core Graphics的人来说,这是最简单的方法。 在你的子类UIView中: – (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColor(context, CGColorGetComponents([UIColor colorWithRed:0.5 green:0.5 blue:0 alpha:1].CGColor)); // don't make color too saturated CGContextFillRect(context, rect); // draw base [[UIImage imageNamed:@"someImage.png"] drawInRect: rect blendMode:kCGBlendModeOverlay […]
而不是创build两个UIImageViews ,这似乎是合乎逻辑的,只需更改一个视图的image 。 如果我这样做,是否有两个图像之间淡入/淡出而不是瞬间切换?
我无法通过自动布局来实现一些非常基本的布局行为。 我的视图控制器在IB中看起来像这样: 最上面的标签是标题标签,我不知道会有多less行。 我需要标题标签来显示文本的所有行。 我还需要另外两个标签和小图片放在标题下方,不pipe高度如何。 我已经设置标签和小图像之间的垂直间距约束,以及标题标签和其超视图之间的顶部间距约束以及小图像和其超视图之间的底部间距约束。 白色的UIView没有高度约束,所以它应该垂直拉伸以包含它的子视图。 我已经将标题标签的行数设置为0。 我怎样才能得到标题标签resize,以适应string所需的行数? 我的理解是,我不能使用setFrame方法,因为我使用自动布局。 而我必须使用自动布局,因为我需要这些其他视图留在标题标签(因此约束)之下。 我怎样才能做到这一点?
用@dynamic或@synthesize实现@dynamic之间有什么区别?