- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到了经我确认的报告,我的一个应用程序中的一项功能在 10.7.3 下出现故障。经过调查,10.7.3 似乎在 NSDictionary
上引入了一个私有(private)的 -stringForKey:
方法。
[NSDictionary respondsToSelector:@selector(stringForKey:)]
返回 NO,正如人们所期望的那样。
但是我在 NSDictionary
上有一个类别方法来实现 -stringForKey:
方法,如下所示(因此它可以用于 NSNumber
以及 NSDate
值)。在 10.7.2 及更早版本下,它工作正常;在 10.7.3 下,它返回 nil。直接获取对象和描述效果很好。所以这一定是类别冲突。
- (NSString *)stringForKey:(id)key;
{
return [[self objectForKey:key] description];
}
我想这是支持为类别方法添加前缀的另一个论据,尽管 advice I got from an Apple Application Frameworks Evangelist .
其他人可以证实这一点吗?我不认为这是第三方应用程序的冲突;我认为这是 10.7.3 中的更改。
最佳答案
您应该始终为您在框架类上创建的类别方法添加前缀。毫无疑问。无论 10.7.3 是否引入了此方法,您在声明时不带前缀的事实都是错误的。
顺便说一句,测试 [NSDictionary respondsToSelector:@selector(stringForKey:)]
不一定有效。 NSDictionary
是一个类簇,因此您只需询问抽象父类(super class),而私有(private)方法可能只存在于具体子类上。
关于cocoa - Mac OS X 10.7.3 添加 -[NSDictionary stringForKey :] method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235790/
我试图在 NSUserDefaults 中存储一个字符串,但是当我去检索它时,我的应用程序崩溃了。 我假设这只是第一次发生,因为从未在 NSUserDefaults 中为该键设置值,但是我尝试在 vi
在我的 viewDidLoad 方法中,我想读取用户默认值。但是 NSLog(@"%@", [prefs stringForKey:@"gateway_picker"]); 打印(null)。为什么?
我正在创建登录注册页面,但出现错误。当我尝试登录时,userStoredEmailuser 和 userStoredPassword 返回 null。请帮助解决此错误。 登录码: let userem
我最近被告知将 [NSNull null] 转换为 (NSString*) 是“糟糕的”。 但是,-[NSDictionary stringForKey:] 方法将返回 [NSNull null] 如
我收到了经我确认的报告,我的一个应用程序中的一项功能在 10.7.3 下出现故障。经过调查,10.7.3 似乎在 NSDictionary 上引入了一个私有(private)的 -stringForK
我是一名优秀的程序员,十分优秀!