Tag: cocoa

如何将NSRange存储在NSMutableArray或其他容器中?

这是我想要做的: NSRange r = NSMakeRange(0,5); id a = [NSMutableArray a]; [a addObject: r]; // but NSRange is not a NSObject * 用布尔值,我会使用这样的代码: [a addObject: [NSNumber numberWithBool: YES]]; 或者用一个整数: [a addObject: [NSNumber numberWithInteger: 3]]; 那么NSRange什么呢? 我不想要做的是创build我自己的NSObject的子类来完成这一点。 苹果公司已经提供了一种方法吗?

在我滚动之前,数据不会在UITableView中加载

我正在尝试加载单元格中的分析数据,但问题是,它正在同步发生,UitableView不会显示,直到数据完成加载。 我试图通过使用performSelectorInBackground来解决这个问题,但是现在数据并没有加载到单元格中,直到我开始滚动。 这是我的代码: – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self performSelectorInBackground:@selector(fethchData) withObject:nil]; } – (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. self.listData = nil; self.plot=nil; } -(void) fethchData { NSError *error = nil; NSURL *url=[[NSURL alloc] initWithString:@"http://www.website.com/"]; […]

创buildNSString重复另一个string给定的次数

这应该很容易,但我很难find最简单的解决scheme。 我需要一个NSString ,它等于另一个string连接自己给定的次数。 为了更好的解释,请考虑下面的python示例: >> original = "abc" "abc" >> times = 2 2 >> result = original * times "abcabc" 任何提示? 编辑: 从OmniFrameworks看这个实现之后,我打算发布一个与Mike McMaster的答案类似的解决scheme: // returns a string consisting of 'aLenght' spaces + (NSString *)spacesOfLength:(unsigned int)aLength; { static NSMutableString *spaces = nil; static NSLock *spacesLock; static unsigned int spacesLength; if (!spaces) { spaces = […]

如何find两个CG点之间的距离?

当我们在UIScrollView中用两个手指进行多点触控时,我们得到两个CG点。 我想find他们之间的距离。 然后当我们再次捏(内部或外部),然后我们将再次得到两个点。 然后再find这两点之间的距离后,我想决定是否夹紧或放松。 如果我捏了一下,新的距离肯定会减less,反之亦然。 但不知道如何find一个准确的测量2点之间的距离做比较? 有人有这个想法吗?

主队列上的dispatch_sync与dispatch_async

忍受着我,这是要解释一下。 我有一个如下所示的函数。 上下文:“aProject”是一个名为LPProject的核心数据实体,其中包含名为“memberFiles”的数组,其中包含另一个名为LPFile的Core Data实体的实例。 每个LPFile代表磁盘上的一个文件,我们想要做的就是打开这些文件并parsing它的文本,寻找指向OTHER文件的@import语句。 如果我们find@import语句,我们希望find它们指向的文件,然后通过向表示第一个文件的核心数据实体添加一个关系来将该文件“链接”到这个文件。 由于所有这些都可能需要一些时间在大文件上,我们将使用GCD从主线程执行。 – (void) establishImportLinksForFilesInProject:(LPProject *)aProject { dispatch_queue_t taskQ = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); for (LPFile *fileToCheck in aProject.memberFiles) { if (//Some condition is met) { dispatch_async(taskQ, ^{ // Here, we do the scanning for @import statements. // When we find a valid one, we put the whole path to the imported […]

cocoa的dependency injection框架?

Interface Builder可以用于Cocoa应用程序中的基本dependency injection,但是当不想在NIB文件中实例化对象时,任何人都可以意识到Objective-C / Cocoa的更完整的dependency injection框架? 编辑 为了澄清,我认识到IB可以用于基本的DI,但我正在寻找一个更完整的function框架,包括单独的生产和testingconfiguration,沿着Groovy或弹簧线。

我应该使用什么,-awakeFromNib或-viewDidLoad?

我最近有一个问题,在我的应用程序中,我在UIViewController子类的-awakeFromNib方法中创build的一些子视图正从视图中消失。 经过一番-awakeFromNib之后,我发现将-awakeFromNib放到-awakeFromNib中的-viewDidLoad解决了这个问题。 看起来-awakeFromNib在UIViewController从nib被解除存档时只被调用一次,并且-viewDidLoad在每次视图被解除存档时被调用。 那么最佳做法是什么? 它看起来像UIViewController的-awakeFromNib不应该添加任何意见的视图,这种东西应该在-viewDidLoad 。 我正确理解这个吗? 还是比我想象的更困惑?

通过索引访问NSMutableDictionary中的对象

要按顺序显示NSMutableDictionary中的键/值(在tableview中),我需要通过索引访问它们。 如果通过索引访问可以给出索引的关键,我可以得到的价值。 有没有办法做到这一点或不同的技术?

popup回UIViewController后,UIScrollView的原点发生了变化

我有一个UIViewController子类作为故事板中的场景,其中包含一个包含各种子视图的UIScrollView 。 其中一个子视图是一个UIButton ,它进入另一个场景UIViewController子类。 当我从视图返回(从导航控制器堆栈popupUIViewController )时,我发现滚动视图的原点已经有所改变,尽pipecontentoffset和contentoffset看起来是正确的。 还有一个有趣的地方是应用程序有一个标签栏,当我退回到该视图时,滚动视图被正确设置,偏移量为(0,0)。 这个过程基本上没有任何代码,因为它几乎全都在故事板上。 由于我对故事板的使用相当新颖,我认为我做错了什么,虽然我不知道是什么。 任何想法可能是什么? 也许大小问题或约束?

UITextView从文本的底部或中间开始

我会适应的。 我有一个UItextView放在我的视图中,当需要滚动查看所有文本(当textView中存在大量文本时),textView有时会在文本中间开始,而其他时间则是文本的底部。 在textView上不启用编辑。 我需要一种方法来强制textView每次都从顶部开始。 我看到一些类似这样的问题,其他人使用内容偏移量,但我不知道这是如何工作的,或者甚至在这里适用。 谢谢你的帮助。