cocoa相关内容
根据 第202页的第206页的Cocoa Programming for Mac OS X: 您将在 的应用程序中的几个类中注册,阅读和 设置默认值。为了确保 你总是使用相同的名字,你 应该声明这些字符串在 单个文件,然后简单地#import 该文件到任何文件,其中 使用名称。有几种方式 来做到这一点。例如,您可以使用 C预处理器的#define命令 ,但大多数Cocoa
..
UIImage有一个只读属性CGImage。我必须读取它的像素到一个内存块,并编辑它们,然后使一个新的UIImage来替换旧的。我想知道是否有绕过只读属性的方法,并直接编辑这些像素。 谢谢。 感谢所有。我找到了一种办法。使用这些方法编写一个类: - (void)preProcess:(UIImage *)srcImage { m_Context =。 ..//创建通过调用C
..
我有一个任务需要每1秒执行一次。目前我有一个NSTimer每1秒重复发射。 我可以在主线程上使用NSTimer触发器,然后使用NSBlockOperation发送一个背景消息线程,但我想知道是否有更有效的方式这样做。 解决方案 定时器将需要安装进入在已经运行的后台线程上运行的运行循环。那个线程将不得不继续运行运行循环以使定时器实际触发。而对于后台线程继续能够触发其他定时器事件,它将需
..
有人可以举例说明如何使用 NSCache 来缓存字符串? 或任何人有一个链接到一个很好的解释?我不能找到任何.. 解决方案 NSMutableDictionary 。不同的是,当 NSCache 检测到过大的内存压力(即它缓存了太多的值)时,它会释放一些值来腾出空间。 如果你可以在运行时重新创建这些值(通过从互联网下载,通过计算,任何),然后 NSCache 可以满足你的需要。如果
..
@private 是什么意思在Objective-C? 解决方案 它是一个可见性修饰符 -it意味着声明为 @private 的实例变量只能通过同一个类的实例。 例如: @interface MyClass:NSObject { @private int someVar; //只能通过MyClass实例访问 @public int aPublicVar;
..
我有一个类有一个可访问的方法,传递回 NSString 时调用。 [MyClass getMyString] 该类中的字符串变量实际上是在 didSelectRowAtIndexPath:部分中分配的,如下所示: myString = cell.textLabel.text; 当我通过调用该方法检索字符串时,我将它分配给另一个字符串,它与我定义
..
我刚刚从Xcode 4.1升级到4.2,并且分析函数为此代码提供两个分析器警告,如下所示: - (id)deepCopy; { id dict = [[NSMutableDictionary alloc] init]; id copy; for(id key in self) { id object = [self objectForKey:key]; if
..
这里的问题:我有一些像这样的代码 otherWinController = [[NotificationWindowController alloc] init]; for(int i = 0; i [otherWinController showMessage:[NSString stringWithFormat:@“%d”,i] NSLog(@“%d”,i); sleep
..
我试图写一个NSDictionary到plist,但当我打开plist没有数据已写入它。 从日志我的路径看起来正确,我的代码是非常标准。 任何想法? NSArray * keys = [NSArray arrayWithObjects:@“key1”,@“key2” “key3”,nil]; NSArray * objects = [NSArray arrayWithObjects
..
我刚读了Apple的文件。 我试图获取该字符串的整数:@“user logged(3 attempts)”。 我找不到任何示例,在括号内扫描。任何想法? 这里是代码: NSString * logString = @“用户记录(3次尝试)”; NSScanner * aScanner = [NSScanner scannerWithString:logString];
..
我想使用objc运行时为Objective-C项目添加脚本支持。现在我面对的问题,我没有一个线索,我应该调用一个Objective-C方法,它接受几个命名的参数。 objective-c call [object foo:bar]; 可以从C调用: objc_msgSend(object,sel_getUid(“foo:”),bar);
..
我想在我的应用程序中创建URI(或URL方案)支持。 我做一个 LSSetDefaultHandlerForURLScheme()在我的 +(void)initialize 和我设置了特定的URL方案也在我的 info.plist 。所以我有没有 Apple Script 或 Apple Events 的网址方案。 当我在我最喜欢的浏览器中调用 myScheme:时,系统会激活我的应用
..
使用 alloc 或 autorelease 初始化程序更好(更快,更高效)。例如: - (NSString *)hello:(NSString *)name { return [[NSString alloc] initWithFormat :@“Hello,%@”,name]; } 或 - (NSString *)hello:(NSString *)
..
嘿,我使用NSURL连接接收数据。 [NSURLConnection sendSynchronousRequest: //从url建立要求 [NSURLRequest requestWithURL: //从字符串创建url [NSURL URLWithString:url] ] //请求参数 returningResponse:nil错误:nil ]
..
我有一个这样的字符串: @“10/04/2011”,我想只保存“10”在另一个字符串。 解决方案 NSArray * foo = [@ / 2011“componentsSeparatedByString:@”/“]; NSString * firstBit = [foo objectAtIndex:0];
..
有没有办法抑制Xcode中的警告? 例如,我调用一个未记录的方法,由于该方法不在标题中,我得到一个警告编译。我知道我可以添加到我的标题停止警告,但我想知道是否有一种方式,而不是添加到标题(所以我可以保持标题干净和标准),以抑制警告? pragma或某事? 解决方案 要禁用基于每个文件的警告,使用Xcode 3和llvm-gcc-4.2可以使用: #pragma GCC诊断已忽
..
我想要隐藏Dock图标并显示 NSStatusItem 的偏好。 我可以创建StatusItem,但我不知道如何从Dock中删除图标。 : - / 任何想法? 解决方案 在Info.plist中查找 LSUIElement LSUIElement(String)。如果此键设置为“1”,启动服务将应用程序作为代理应用程序运行。代理应用程序不会显示在Dock或强制退出窗口中。虽然
..
我想在我的Objective-C程序中使用队列数据结构。在C ++中,我将使用STL队列。 Objective-C中的等效数据结构是什么?如何推送/弹出项目? 解决方案 Ben的版本是一个堆栈而不是一个队列, NSMutableArray + QueueAdditions.h @interface NSMutableArray(QueueAdditions) - (id)
..
有时,当我从Xcode在设备上运行应用程序时,我会尝试访问钥匙串,但失败,由于错误-34018。这与任何记录的钥匙串错误代码不匹配,并且不能一致重现。 (发生也许30%的时间,我不清楚为什么会发生)。使调试这个问题非常困难的是完全缺乏文档。任何想法是什么导致这和如何解决它?我使用Xcode 5并在设备上运行iOS 7.0.4。 这里有一个开放的问题: https://github.com/s
..
我有一个如下字符串的时间戳: 星期四,5月21日19:10:09 -0700 ,我想将其转换为相对时间戳,例如'20分钟前'或'3天前'。 使用Objective-C for iPhone的最好方法是什么? 解决方案 pre> - (NSString *)dateDiff:(NSString *)origDate { NSDateFormatter * df = [[NS
..