Questions tagged «cocoa»

Cocoa是Apple的macOS应用程序开发框架,由Foundation,Application Kit和Core Data组成。对iOS问题使用“可可触摸”标签。

3
NSInteger的NSLog / printf说明符?
A NSInteger在32位平台上为32位,在64位平台上为64位。是否有一个NSLog始终与大小匹配的说明符NSInteger? 建立 Xcode 3.2.5 llvm 1.6编译器(这很重要; gcc不会这样做) GCC_WARN_TYPECHECK_CALLS_TO_PRINTF 打开 这让我有些悲伤: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSInteger i = 0; NSLog(@"%d", i); } return 0; } 对于32位代码,我需要说明%d符。但是,如果使用说明%d符,则在编译64位时会收到警告,提示我%ld改用。 如果我%ld用来匹配64位大小,则在编译32位代码时会收到一条警告,提示我%d改为使用。 如何同时解决两个警告?是否有我可以使用的说明符? 这也会影响[NSString stringWithFormat:]和[[NSString alloc] initWithFormat:]。

8
iPhone是否有一个好的图表库?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我需要在我正在开发的iPhone应用程序中呈现和显示图表(目前为条形图,但以后可能需要更多类型)。我已经做了一些环顾,但看起来似乎还没有iPhone真正好的成熟图表库。我也一直在寻找可以在Mac上为Cocoa编写的东西,但是还没有发现任何很棒的东西。 有人处理过吗?有什么建议吗? 我确实找到了核心图,但是它似乎处于开发的早期阶段。 编辑以添加需求的一些详细信息(当前它们是当前状态;)) 条形图 水平条形图 双堆积条形图 轴标签(包括在y轴上旋转90度) 图表上每个条形上方的标签 阴影或自定义背景





7
结合使用C ++和Cocoa而非Objective-C?
我想编写使用C ++和Cocoa框架的应用程序,因为Apple并未使Carbon具备64位功能。C ++在Linux和Windows上的实现似乎很原始,但在Mac OS X上似乎需要附加的Apple特定代码段(如Obj-C包装程序)。尽管我可能错了,但苹果似乎也在强迫开发人员使用Objective-C而不是C ++进行编写。 我正在尝试寻找一种在Mac上编写代码的方法,该方法很容易保持跨平台。必须为Linux / Windows用C ++编写代码,然后再用Objective-C重写大部分代码,效率非常低下。 有没有一种方法可以用C ++编写将来会受Xcode支持的代码?另外,如果有可能,我该如何在Xcode中混合使用C ++和Objective-C?谢谢。

14
了解可可和Objective-C的参考计数
我刚刚开始研究Objective-C和Cocoa,以期使用iPhone SDK。我对C malloc和free概念很满意,但是Cocoa的引用计数方案使我感到困惑。有人告诉我它非常优雅,但是我还没有结束。 怎么办release,retain和autorelease工作有什么关于他们使用的约定? (或者失败了,您读了什么书,对您有所帮助?)

9
将NSArray过滤到Objective-C中的新NSArray中
我有一个NSArray,我想NSArray使用满足特定条件的原始数组中的对象创建一个新对象。条件由返回的函数决定BOOL。 我可以创建一个NSMutableArray,遍历源数组,并复制过滤器函数接受的对象,然后创建它的不可变版本。 有没有更好的办法?

2
在executeFetchRequest上“枚举时对集合进行了变异”
我一直困扰着一个小时,并且已经在stackoverflow上阅读了有关此问题的所有内容(并应用了发现的所有建议),现在我正式需要帮助。; o) 这是上下文: 在我的iPhone项目中,我需要在后台导入数据并将其插入到托管对象上下文中。遵循此处找到的建议,这是我正在做的事情: 保存主moc 使用主Moc使用的持久存储协调器实例化背景Moc 将我的控制器注册为后台moc的NSManagedObjectContextDidSaveNotification通知的观察者 在后台线程上调用import方法 每次接收到数据时,将其插入后台Moc 导入所有数据后,保存后台Moc 将更改合并到主线程中的主线程中 注销我的控制器作为通知的观察者 重置并释放后台Moc 有时(随机),例外情况... *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSCFSet: 0x5e0b930> was mutated while being enumerated... 当我在后台Moc上调用executeFetchRequest来检查导入的数据是否已存在于数据库中时,会抛出...。我想知道是什么使集合发生了变化,因为没有任何方法可以在import方法之外运行。 我已经包含了控制器和测试实体的全部代码(我的项目由这两个类和应用程序委托组成,它们未经修改): // // RootViewController.h // FK1 // // Created by Eric on 09/08/10. // Copyright (c) 2010 …



3
如何从特定的对象ID获取核心数据对象?
我可以使用以下代码轻松地在Core Data中获取对象的ID: NSManagedObjectID *moID = [managedObject objectID]; 但是,是否有一种方法可以通过给它提供特定的对象ID将其从核心数据存储中移出?我知道我可以使用NSFetchRequest来做到这一点,就像这样: NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext]; [fetchRequest setEntity:entity]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(objectID = %@)", myObjectID]; [fetchRequest setPredicate:predicate]; 但是,我想以一种不会启动自己的获取请求的方式来执行此操作。有任何想法吗?


6
深度复制NSArray
是否有任何内置功能可以让我深入复制NSMutableArray? 我环顾四周,有人说[aMutableArray copyWithZone:nil]作品很深。但是我尝试过,这似乎是一个浅表。 现在,我正在手动for循环复制: //deep copy a 9*9 mutable array to a passed-in reference array -deepMuCopy : (NSMutableArray*) array toNewArray : (NSMutableArray*) arrayNew { [arrayNew removeAllObjects];//ensure it's clean for (int y = 0; y<9; y++) { [arrayNew addObject:[NSMutableArray new]]; for (int x = 0; x<9; x++) { [[arrayNew objectAtIndex:y] addObject:[NSMutableArray …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.