Questions tagged «objective-c»

仅在有关Objective-C功能或取决于语言代码的问题上使用此标记。标签[cocoa]和[cocoa-touch]应该用于询问Apple的框架或类。使用相关标签[ios],[macos],[apple-watch]和[tvos]来解决特定于这些平台的问题。


3
@interface和@protocol解释?
我想知道目标C中的@interface是什么?程序员只是想在其中声明变量,类名还是方法名...?我不确定它是否类似于Java中的接口。还有目标C中的@protocol。似乎Java中的接口更多。谁能给我详细解释。我真的很感激。

7
什么时候应该显式使用@synthesize?
据我所知,自XCode 4.4起,@synthesize它将自动生成属性访问器。但是,刚才我阅读了有关的代码示例NSUndoManager,并在代码中注意到@synthesize明确添加了。喜欢: @interface RootViewController () @property (nonatomic, strong) NSDateFormatter *dateFormatter; @property (nonatomic, strong) NSUndoManager *undoManager; @end @implementation RootViewController //Must explicitly synthesize this @synthesize undoManager; 我现在感到困惑...什么时候应该@synthesize在代码中明确添加?


9
如何在iOS UISearchBar中限制搜索(基于键入速度)?
我有UISearchDisplayController的UISearchBar部分,该部分用于显示来自本地CoreData和远程API的搜索结果。我要实现的是在远程API上进行搜索的“延迟”。当前,对于用户键入的每个字符,都会发送一个请求。但是,如果用户输入速度特别快,那么发送许多请求就没有意义了:等到他停止输入后,这才有帮助。有办法实现吗? 阅读文档建议您等到用户明确点击搜索后,但就我而言,它并不理想。 性能问题。如果可以非常快速地执行搜索操作,则可以通过在委托对象上实现searchBar:textDidChange:方法来更新用户输入时的搜索结果。但是,如果搜索操作花费更多时间,则应等到用户点按“搜索”按钮,然后才能在searchBarSearchButtonClicked:方法中开始搜索。始终在后台线程中执行搜索操作,以避免阻塞主线程。这样可以在搜索运行时使您的应用对用户保持响应,并提供更好的用户体验。 向API发送许多请求不是本地性能的问题,而仅仅是避免远程服务器上的请求率过高。 谢谢

5
如何在Xcode中弃用方法
我们有我们要交付给客户的库,并且我想将某些方法标记为“已弃用”,因为我们已对其进行了更改(就像Apple在iPhone SDK中所做的那样)。 我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED预处理器宏,该宏映射到__AVAILABILITY_INTERNAL,该宏映射到__attribute__((deprecated))... 好吧,我对此东西有些困惑! 有人知道吗?

4
ARC-__unsafe_unretained的含义?
只是想确保我做对了: 我是否需要__unsafe_unretain我不拥有的物体? 如果对象是__unsafe_unretained我需要用assign的@property?这是否意味着不保留该对象,而只是引用我分配给的对象? 除代理人外,我什么时候要使用它? 那是ARC东西还是以前使用过的东西?

11
UIBarButtonItem:目标操作不起作用?
我在中有一个自定义视图UIBarButtonItem,可以通过调用来设置-initWithCustomView。我的条形按钮项呈现得很好,但是当我点击它时,它不会调用目标对象上的动作。 这是我的代码: UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"someImage.png"]]; UIBarButtonItem *bbItem = [[UIBarButtonItem alloc] initWithCustomView:imageView]; self.navigationItem.leftBarButtonItem = bbItem; [imageView release]; [bbItem setTarget:self]; [bbItem setAction:@selector(deselectAll)];


4
Objective-C:断言与异常与错误
在可可中,何时应使用NSAssert,NSException,NSError? 这是我一直在想的: NSAssert-创建用于程序员的任何客户端程序时,自己是否有好处来仔细检查规则,约定,假设或前提条件和后置条件? NSException-当创建第三方库以使使用该库的其他程序员受益时,他们将立即知道何时输入无效? NSError-当与外部系统接口以获取诸如文件,数据库或Web服务之类的数据时,不能保证能给我带来结果吗?

4
iOS SDK-以编程方式生成PDF文件
坦白地说,在以编程方式绘制PDF文件时,使用CoreGraphics框架是一项繁琐的工作。 我想以编程方式创建PDF,使用整个应用程序视图中的各种对象。 我很想知道iOS SDK是否有不错的PDF教程,也许是库中的一个。 我看过本教程PDF Creation Tutorial,但是它主要是用C编写的。寻找更多的Objective-C风格。这似乎是写入PDF文件的一种荒谬方法,必须计算线条和其他对象的放置位置。 void CreatePDFFile (CGRect pageRect, const char *filename) { // This code block sets up our PDF Context so that we can draw to it CGContextRef pdfContext; CFStringRef path; CFURLRef url; CFMutableDictionaryRef myDictionary = NULL; // Create a CFString from the filename we provide …

22
UITextView文本内容不是从顶部开始
我有一个来自JSON文件的长文本,但是当我单击UITableViewCell中的链接转到我的UIViewController页面时,UITextView文本会加载字符串内容,但不会从头开始显示内容,因此我必须向上滚动所有内容时间。 我需要做什么?


3
编译错误:开关,“之前的期望表达式”
顺其自然,我重新制造了我的问题,因为这很容易解释。 这符合没有错误: switch (n) { case 1: NSLog(@""); NSString *aStr; break; default: break; } 这会编译错误,并且只缺少NSLog(): switch (n) { case 1: NSString *aStr; break; default: break; } 它抛出在编译“的误差预期表达‘的NSString’之前” 我在这里想念什么吗?

26
iPhone Store工具包“无法连接到iTunes Store”
我正在努力将应用内购买添加到我的应用中。 我能够接收该productsRequest:didReceiveResponse方法,并接收一系列产品。 我将SKPayment添加到SKPaymentQueue时出现了问题。将产品添加到队列后,在该paymentQueue:updatedTransactions方法中,事务始终具有状态SKPaymentTransactionStateFailed。 我NSLog“ transaction.error”,这是它返回的:错误域= SKErrorDomain代码= 0 UserInfo = 0x165000“无法连接到iTunes Store” 我已经从“设置”应用程序中退出了商店,但是尝试在我的应用程序中购买产品后,它从不要求我使用测试帐户登录。它只是由于上述错误而失败。

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.