Tag: cocoa

如何从Javascript调用Objective-C?

我有一个WebView,我想从JavaScript调用Objective-C中的视图。 有人知道我怎么能做到这一点? 我在我的ViewController中有这样的代码: – (BOOL)webView:(UIWebView *)webView2 shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *requestString = [[request URL] absoluteString]; NSArray *components = [requestString componentsSeparatedByString:@":"]; if ([components count] > 1 && [(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) { if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"]) { NSLog([components objectAtIndex:2]); [[Airship shared] displayStoreFront]; //<- This is the code to open the Store NSLog([components objectAtIndex:3]); // param2 […]

了解Cocoa和Objective-C的引用计数

我只是开始看Objective-C和Cocoa,以期玩iPhone SDK。 我对C的malloc和free概念很合适,但Cocoa的引用计数scheme让我颇为困惑。 一旦你了解它,我就会被告知它非常优雅,但是我还没有完成。 如何release , retain和autorelease工作以及有关使用约定是什么? (或者说失败了,你读了什么帮助你得到了它?)

在Objective-C中为类定义私有方法的最佳方法

我刚刚开始编程Objective-C,并且拥有Java的背景,不知道编写Objective-C程序的人是如何处理私有方法的。 我知道可能有几个约定和习惯,并将这个问题作为人们在Objective-C中处理私有方法的最佳技术的集合体来思考。 发布时请包括您的方法的论点。 为什么这是好的? 它有哪些缺点(你知道的)以及你如何处理它们? 至于我目前的发现。 可以使用MyClass.m文件中定义的类别 [例如MyClass(Private)]对私有方法进行分组。 这种方法有两个问题: Xcode(和编译器?)不会检查是否在相应的@implementation块中定义了私有类别中的所有方法 你必须把@interface声明你的私人类别在MyClass.m文件的开头,否则Xcode会抱怨一个消息,比如“self可能不回应消息”privateFoo“。 第一个问题可以用空类别 [例如MyClass()]解决。 第二个困扰我很多。 我希望在文件末尾附近实现(定义)私有方法; 我不知道这是可能的。

目标C HTML转义/ unescape

想知道是否有一个简单的方法在Objective C中做一个简单的HTML转义/ unescape。我想要的是这样的伪代码: NSString *string = @"&lt;span&gt;Foo&lt;/span&gt;"; [string stringByUnescapingHTML]; 哪个返回 <span>Foo</span> 希望能够避免所有其他的HTML实体,甚至像Ӓ之类的ASCII码。 Cocoa Touch / UIKit中有没有方法可以做到这一点?

我怎样才能从iPhone应用程序发送邮件

我想从我的iPhone应用程序发送电子邮件。 我听说iOS SDK没有电子邮件API。 我不想使用下面的代码,因为它会退出我的应用程序: NSString *url = [NSString stringWithString: @"mailto:foo@example.com?cc=bar@example.com&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"]; [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; 那么我怎样才能从我的应用程序发送电子邮件?

在NSOrderedSet生成的访问器中抛出exception

在我的狮子应用程序,我有这个数据模型: Item内部的关系subitems 是有序的 。 Xcode 4.1(build 4B110)为我创build了文件Item.h , Item.m , SubItem.h和SubItem.h 。 这里是Item.h的内容(自动生成): #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class SubItem; @interface Item : NSManagedObject { @private } @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSOrderedSet *subitems; @end @interface Item (CoreDataGeneratedAccessors) – (void)insertObject:(SubItem *)value inSubitemsAtIndex:(NSUInteger)idx; – (void)removeObjectFromSubitemsAtIndex:(NSUInteger)idx; – (void)insertSubitems:(NSArray *)value atIndexes:(NSIndexSet *)indexes; – (void)removeSubitemsAtIndexes:(NSIndexSet *)indexes; […]

如何parsing与Objective-C的JSON?

我是iPhone新手。 任何人都可以告诉我要遵循的步骤来parsing这些数据并获取活动的详细信息,名字和姓氏吗? { "#error": false, "#data": { "": { "activity_id": "35336", "user_id": "1", "user_first_name": "Chandra Bhusan", "user_last_name": "Pandey", "time": "1300870420", "activity_details": "Good\n", "activity_type": "status_update", "photo_url": "http://184.73.155.44/hcl-meme/QA_TEST/sites/default/files/pictures/picture-1627435117.jpg" }, "boolean": "1", "1": { "1": { "photo_1_id": "9755" }, "activity_id": "35294", "album_name": "Kalai_new_Gallery", "user_id": "31", "album_id": "9754", "user_first_name": "Kalaiyarasan", "user_last_name": "Balu", "0": { "photo_0_id": "9756" }, "time": "1300365758", […]

从Cocoa应用程序执行一个terminal命令

我怎样才能从我的Objective-C Cocoa应用程序执行terminal命令(如grep )?

收到EXC_BAD_ACCESS信号

将应用程序部署到设备时,程序将在几个周期后退出,并出现以下错误: Program received signal: "EXC_BAD_ACCESS". 该程序在iPhone模拟器上运行时没有任何问题,只要按照说明逐步执行,它也将进行debugging和运行。 一旦我让它再次运行,我会击中EXC_BAD_ACCESS信号。 在这种特殊情况下,它恰好是加速度计代码中的一个错误。 它不会在模拟器中执行,这就是为什么它不会抛出任何错误。 但是,一旦部署到设备,它就会执行。 这个问题的大部分答案都是针对一般的EXC_BAD_ACCESS错误,所以我将把这个问题留给可怕的Bad Access错误。 EXC_BAD_ACCESS通常是由非法内存访问引起的。 您可以在下面的答案中find更多信息。 您之前是否遇到过EXC_BAD_ACCESS信号,您是如何处理的?

根据文字调整UILabel的高度

考虑一下我在UILabel (一长串dynamic文本)中有以下文本: 由于外星人军队远远超过了队伍,玩家必须利用后世界末日的世界,如在垃圾箱,柱子,汽车,瓦砾等物体后面寻找掩护。 我想调整UILabel's高度,以便文本可以适应。我使用UILabel以下属性来使文本内包装。 myUILabel.lineBreakMode = UILineBreakModeWordWrap; myUILabel.numberOfLines = 0; 请让我知道,如果我不是在正确的方向前进。 谢谢。