草庐IT

object_t

全部标签

objective-c - 如何处理 '[<__NSCFString 0x2f1730> valueForUndefinedKey:]: this class is not key value coding-compliant for the key $oid' 错误

我遇到了错误(在主题中说明),因为有时属性“id”不会在返回的json中存储包含“$oid”的散列。例如有时我得到:"id":{"$oid":"4eea972209f47a0028000140"}有时我得到"id":"4eea972209f47a0028000140"我正在尝试检查以下代码以解决此类不规则问题if([[questionvalueForKey:@"id"]valueForKey:@"$oid"]){question_id=[[questionvalueForKey:@"id"]valueForKey:@"$oid"];}else{question_id=[question

objective-c - 如何在 ios 中不收到 "instance method not found"警告的情况下调用委托(delegate)函数?

在我开发的应用中,经常会发现这样的代码行[delegateaFunction];生成“未找到实例方法“aFunction”(返回类型默认为id)”警告现在,我对SO做了一些研究,发现可以通过声明函数来删除警告,当你在self([selfaFunction];)上调用它时,但是没有任何答案说明我的情况是,当我使用委托(delegate)时。所以,长话短说,我该怎么做才能在另一个类中正确调用委托(delegate)的方法?事情似乎工作正常,所以这不是主要问题,但警告意味着我没有做完全正确的事情所以我想了解这种情况下的最佳做法是什么提前感谢您的帮助! 最佳答案

objective-c - 子类化 UIViewController,viewDidLoad 反复调用

我将UIViewController子类化为STViewController并注意到从STViewController继承的类有它们的viewDidLoad方法被重复调用.最终导致应用程序崩溃。STViewController在这一点上基本上是一个空白的实现。我正在子类化,如下所示:#import"STViewController.h"@interfaceWelcomeViewController:STViewController{STViewController.h#import@interfaceSTViewController:UIViewController{}@endSTVi

objective-c - 如何在没有一长串 if 语句的情况下将 float 映射到枚举

给定一个float,如何将它映射到一个像这样的枚举{FAIL,POOR,OK,GOOD,EXCELLENT,PERFECT}如果分区不均匀。0.0-0.4isFAIL0.4-0.6isPOOR...0.8-0.999..isEXCELLENT1.0isPERFECTfloat是根据游戏中所有玩过的关卡计算得出的评级值。它的范围从0..1,包括两者。通常需要不超过10个分区,但间距会在开发过程中进行调整。我目前正在使用一堆if..else语句。这是正确的方法吗?看起来有点脆。 最佳答案 使用结构数组-静态分配或动态-然后使用一个简单的

iphone - objective-c 获取一个类的所有属性(反射)

我只是想知道Xcodeobj-c中是否有一种方法可以通过编程方式获取对象的所有属性(通过代码未知类型),然后循环遍历所有属性并获取值。我知道如何使用反射在.net世界中做到这一点,但不知道如何在objective-c中做到这一点。有什么想法吗?提前致谢 最佳答案 您需要阅读Objective-CRuntimeProgrammingGuide和Objective-CRuntimeReference.您会在Objective-C运行时中找到诸如class_copyIvarList()、class_copyMethodList()、obj

ios - Objective-C:如何检测发件人是 UITextField 还是 UISwitch

我将UITextfield和UISwitch实例放在UITableView中。我可以检测标签和值,但不确定如何检测它们是UISwitch还是UITextField?我打算为每个设置不同的操作。 最佳答案 您可以像这样检查发件人的类别:if([senderisKindOfClass:[UISwitchclass]])...但是,这可能不是最佳设置:在创建带有开关和文本字段的表格单元格时,您可能会连接不同的选择器以获得更好的解决方案。 关于ios-Objective-C:如何检测发件人是UI

objective-c - 选择 RowAtIndexPath : animated: scrollPosition: - Row is "selected"

我正在使用以下代码滚动到tableView的顶部:NSIndexPath*topIndexPath=[NSIndexPathindexPathForRow:0inSection:0];[self.listTableViewselectRowAtIndexPath:topIndexPathanimated:NOscrollPosition:UITableViewScrollPositionMiddle];效果很好,但我想避免目标行被“选中”。见下图:关于运行此代码后如何“取消选择”该行的任何想法?或者更好的是,以一种不首先“选择”目标行的方式运行此代码? 最佳

objective-c - 如何获取特定 UITableViewCell 的节号?

如何通过特定的UITableViewCell获取原始indexPath.section?-(NSString*)sectionForCell:(UITableViewCell*)cell{//HowtogettheoriginalindexPath.sectionbythespecificUITableViewCell?} 最佳答案 UITableView有一个方法可以为您提供特定单元格的索引路径:NSIndexPath*path=[self.tableViewindexPathForCell:cell];returnpath.se

objective-c - 发送到解除分配实例的消息...在@synthesize 期间发送?

我一直在使用RaphaelCruzeiro的PDFAnnotator中的代码,并发现了一些内存泄漏(ARC已关闭,并将保持关闭状态以支持旧设备)。在修补了大部分之后,我只剩下最后一对了,他们让我难住了。所以在一个叫做PDFDocument的类中,他有一个CGPDFPageRef、CGPDFDocument和一个自定义注释类@synthesize的属性>'。我不得不用释放来填充他的dealloc方法并消除一些悬空指针,除了一个小问题外,它工作得很好:在大约3个完整的保留释放周期之后,它在他的注释对象的@synthesize行崩溃了......我已经由于在@synthesize期间发送了一

objective-c - 以编程方式创建 UITextField 时关闭键盘

我以编程方式创建了一个UITextField。我想在输入文本后关闭键盘。我该怎么做? 最佳答案 [yourfieldresignFirstResponder]; 关于objective-c-以编程方式创建UITextField时关闭键盘,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9465156/