Questions tagged «objective-c»

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


2
Objective-C运行时:检查类是否符合协议的最佳方法?
我有一个Class(但没有实例),需要知道它是否符合某个协议。但是,类可以被子类化多次,并且class_conformsToProtocol()会忽略在超类上声明的协议。 我可以只使用class_getSuperclass()并递归地检查层次结构中的所有类,直到超类为nil。但是,我想知道这对于深度嵌套的类层次结构是否效率不高,也许有更好的方法可以做到这一点? 换句话说,如何使用Objective-C运行时方法最好地实现NSObject方法conformsToProtocol,以便它可以找到超类上的协议? [myObject conformsToProtocol:@protocol(MyProtocol)]; 如果我在正确的方向上递归地进行类层次结构研究,请告诉我。


7
Objective-C与C ++有何不同?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在语法,功能,范例,框架和库方面,Objective-C和C ++之间的主要区别是什么? *重要:我的目标不是在两种语言之间展开性能大战。我只想要真实的事实。实际上,我的问题与性能无关!请提供任何看似主观的信息。
171 c++  objective-c 

7
将UIImage转换为NSData
我在我的应用程序中使用此代码,这将有助于我发送图像。 但是,我有一个带有图像的图像视图。我的文件中没有文件,但图像在我的身边。如何更改以下代码?谁能告诉我如何转换myimage为NSData? // Attach an image to the email NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"]; NSData *myData = [NSData dataWithContentsOfFile:path]; [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];


16
什么时候在Objective-C中使用nil和NULL?
这是示例代码: NSDictionary *myDictionary = [NSDictionary dictionary]; NSNumber *myNumber = [myDictionary valueForKey: @"MyNumber"]; NSLog(@"myNumber = %@", myNumber); // output myNumber = (null) if (myNumber == nil) NSLog(@"test 1 myNumber == nil"); if (myNumber == NULL) NSLog(@"test 2 myNumber == NULL"); if ([myNumber isEqual:[NSNull null]]) NSLog(@"test 3 myNumber == [NSNull null]"); 什么时候应该使用nil,NULL和[NSNull …
170 objective-c  null  nsnull 


20
调整UITableView的大小以适合内容
我正在创建一个应用程序,它将在中有一个问题,UILabel并在中显示选择题答案UITableView,每行显示一个选择题。问题和答案会有所不同,因此我需要UITableView保持高度变化。 我想sizeToFit在桌子旁找个工作。将表格的框架设置为所有内容的高度。 谁能建议我如何实现这一目标?

7
保存时iphone核心数据未解决错误
尝试保存时,我从核心数据中收到一条奇怪的错误消息,但是该错误不可重现(在执行不同任务时,它出现在不同时间) 错误消息: Unresolved error Domain=NSCocoaErrorDomain Code=1560 UserInfo=0x14f5480 "Operation could not be completed. (Cocoa error 1560.)", { NSDetailedErrors = ( Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x5406d70 "Operation could not be completed. (Cocoa error 1570.)", Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x14f9be0 "Operation could not be completed. (Cocoa error 1570.)" ); } 产生错误的方法是: - (IBAction)saveAction:(id)sender { NSError …

11
UITextField的初始键盘动画上的超慢延迟/延迟
好吧,这个问题使我发疯。 触摸键盘后,弹出键盘大约需要3-4秒UITextField。自应用启动以来,这仅在键盘第一次弹出时发生,然后动画立即开始。 起初我以为是加载太多图像或我的问题UITableView,但是我刚刚创建了一个仅带的全新项目,但UITextField我仍然遇到此问题。我正在使用iOS 5,Xcode ver 4.2,并在iPhone 4S上运行。 这是我的代码: #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.delegate = self; [self.view addSubview:textField]; } @end 这是所有应用程序的常见问题吗? 现在,我可以做得更好的唯一方法是textField成为/指派第一响应者viewDidAppear,但这并不能完全解决问题-而是在加载视图时加载延迟。如果在textField加载视图时立即单击,仍然会出现问题;如果我在加载视图后等待3-4秒再触摸textField,则不会得到延迟。


4
UIButton标题文字颜色
我正在设置文字颜色 UIButton headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0]; 它不会更改我正在使用的其他代码中使用的相同代码的颜色。


4
处理NSDateFormatter语言环境“ feechur”的最佳方法是什么?
看起来 NSDateFormatter有一个“功能”意外地咬了你:如果执行简单的“固定”格式操作,例如: NSDateFormatter* fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"yyyyMMddHHmmss"]; NSString* dateStr = [fmt stringFromDate:someDate]; [fmt release]; 然后在美国和大多数语言环境中都可以正常工作...某人将手机设置为24小时制,则将12/24小时切换设置设为12。然后,上面的操作将“ AM”或“ PM”添加到结果字符串的末尾。 (例如, NSDateFormatter,我做错了什么还是一个错误?) (看看 https://developer.apple.com/library/content/qa/qa1480/_index.html) 显然,苹果公司宣布它为“ BAD”-按设计要求被破坏,他们将不予修复。 显然,该规避措施是为特定区域(通常是美国)设置日期格式化程序的语言环境,但这有点混乱: NSLocale *loc = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [df setLocale: loc]; [loc release]; onsies-twosies还不错,但是我正在处理大约十种不同的应用程序,而我所研究的第一个应用程序有43种这种情况。 那么,对于宏/重写的类/如何在不使代码晦涩的情况下最大程度地减少更改所有工作的任何巧妙构想?(我的第一个本能是使用将在init方法中设置语言环境的版本覆盖NSDateFormatter。需要更改两行-分配/初始化行和添加的导入。) 添加 到目前为止,这是我要提出的内容-似乎适用于所有情况: @implementation BNSDateFormatter -(id)init { static NSLocale* en_US_POSIX = …

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.