Questions tagged «objective-c»

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

16
将Project-Swift.h导入到Objective-C类中...文件未找到
我有一个在Objective-C中启动的项目,并且我试图将一些Swift代码导入到我以前编写Objective-C的相同类文件中。 我已在同一项目中就使用Swift和Objective-C 咨询过Apple 文档,以及诸如此类的问题,但仍然无济于事:放入后,我继续收到未找到文件的错误#import "NewTestApp-Swift.h"(NewTestApp是产品名称和模块)。 到目前为止,这是我所做的: 在中Define Modules,YES为应用程序选择。 确保产品模块名称中没有空格(请参见下面的屏幕截图) 我已经尝试使用#import "NewTestApp-Swift.h"内ViewController.m,ViewController.h和AppDelegate.m但他们没有工作过。 我还做错了什么?谢谢你的帮助。 设置屏幕截图: 我目前遇到的错误:
128 ios  objective-c  xcode  swift  xcode6 


20
如何比较UIColors?
我想检查UIImageView上背景的颜色设置。我试过了: if(myimage.backgroundColor == [UIColor greenColor]){ ...} else{ ...} 但这是行不通的,即使我知道颜色是绿色,它也总是落在其他部分。 另外,还有一种方法可以在调试控制台中输出当前颜色。 p [myimage backgroundColor] 和 po [myimage backgroundColor] 不工作



4
Swift中的只读和非计算变量属性
我正在尝试使用新的Apple Swift语言解决问题。假设我以前在Objective-C中执行以下操作。我有readonly属性,不能单独更改。但是,使用特定方法,可以以逻辑方式更改属性。 我以下面的例子为例,这是一个非常简单的时钟。我将在Objective-C中编写该代码。 @interface Clock : NSObject @property (readonly) NSUInteger hours; @property (readonly) NSUInteger minutes; @property (readonly) NSUInteger seconds; - (void)incrementSeconds; @end @implementation Clock - (void)incrementSeconds { _seconds++; if (_seconds == 60) { _seconds = 0; _minutes++; if (_minutes == 60) { _minutes = 0; _hours++; } } } @end …

5
以编程方式触发按钮单击事件?
有没有办法以编程方式触发按钮单击事件?我在UIView中放置了一个按钮,在特定情况下,我想通过代码而不是作为用户手动单击按钮。iOS开发中可能吗?请提供您的建议,并指导我该如何做。 谢谢。
126 ios  objective-c  iphone 

5
如何将图像保存到相机胶卷?
我是Xcode的新手(使用4.3),并且不确定如何将图像保存到设备的相机胶卷中。到目前为止,我所要做的只是为按钮设置了IBAction以保存图像。我可以使用哪种库方法或函数将图像保存到用户的相机胶卷?
126 iphone  ios  objective-c  ipad  camera 

5
Xcode不显示导致崩溃的行
每次我的应用程序崩溃时,Xcode都会在main()函数中突出显示UIApicationMain()调用,作为导致崩溃的行。在某些情况下曾经很正常(例如,分段错误),但是我要处理的崩溃是一个简单的SIGABRT,其详细信息记录在控制台中: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: Date)' Xcode过去常常与旧的SDK一起显示该行,但是自从我升级到Xocde 4.2以来,它发生了变化。很明显,Xcode确切知道了导致崩溃的原因(或可能知道),但它仍未显示实际行。是否有任何修复程序或解决方法?

16
如何检查视图控制器是模态显示还是被推入导航堆栈?
在我的视图控制器代码中,我该如何区分: 模态呈现 推入导航堆栈 这两个presentingViewController和isMovingToParentViewController是YES在这两种情况下,所以都不是很有益的。 使事情变得复杂的是,我的父视图控制器有时是模态的,将要检查的视图控制器推到该模态上。 事实证明,我的问题是,我嵌入我HtmlViewController的UINavigationController,然后呈现。这就是为什么我自己的尝试和下面的好答案无法正常工作的原因。 HtmlViewController* termsViewController = [[HtmlViewController alloc] initWithDictionary:dictionary]; UINavigationController* modalViewController; modalViewController = [[UINavigationController alloc] initWithRootViewController:termsViewController]; modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:modalViewController animated:YES completion:nil]; 我想我最好告诉我的视图控制器何时是模态的,而不是试图确定。


13
将参数传递给addTarget:action:forControlEvents
我正在使用addTarget:action:forControlEvents这样的: [newsButton addTarget:self action:@selector(switchToNewsDetails) forControlEvents:UIControlEventTouchUpInside]; 并且我想将参数传递给选择器“ switchToNewsDetails”。我唯一成功完成的事情是通过编写(id)sender来传递: action:@selector(switchToNewsDetails:) 但是我试图传递像整数值这样的变量。用这种方式写不起作用: int i = 0; [newsButton addTarget:self action:@selector(switchToNewsDetails:i) forControlEvents:UIControlEventTouchUpInside]; 用这种方式编写也不起作用: int i = 0; [newsButton addTarget:self action:@selector(switchToNewsDetails:i:) forControlEvents:UIControlEventTouchUpInside]; 任何帮助,将不胜感激 :)

2
使用ARC时,是否在dealloc中将属性设置为nil?
我正在尝试学习iOS 5中的自动引用计数。现在,此问题的第一部分应该很简单: 它是正确的,我根本不使用ARC时需要写在我的dealloc明确释放属性声明?换句话说,这是真的,以下就不是需要一个明确的dealloc的? @interface MyClass : NSObject @property (strong, nonatomic) NSObject* myProperty; @end @implementation MyClass @synthesize myProperty; @end 我的下一个更重要的问题来自“ 过渡到ARC发行说明”文档中的一行: 您不必(实际上不能)释放实例变量,但是您可能需要在系统类和未使用ARC编译的其他代码上调用[self setDelegate:nil]。 这就引出了一个问题:我怎么知道哪些系统类没有用ARC编译?什么时候应该创建自己的dealloc并将显着保留的属性显式设置为nil?我是否应该假设属性中使用的所有NS和UI框架类都需要显式的dealloc? 关于SO和其他方面的大量信息,涉及使用手动引用跟踪时释放属性支持ivar的做法,但是使用ARC时,有关此信息的信息很少。



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.