- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用程序中使用 NSUUID
作为唯一 ID,如下所示:
[[NSUUID UUID] UUIDString]
正如预期的结果一样,我得到一个像这样的ID:102A21AD-7216-4517-8A79-39776B767E72
出于后端原因,我需要 uuid 中的字母为小写。我尝试打电话
[[NSUUID UUID] UUIDString].lowercaseString
但返回的字符串为空。
我真的必须迭代字符串中的所有字符并将适当的字符转换为小写吗?如果是这样,有人对最有效的方法有什么建议吗?
编辑:
我试图实现这一点的方法是通过子类化 NSUUID,然后覆盖
-(NSString*) UUIDString;
方法。
我的实现是
-(NSString*) UUIDString{
return [super UUIDString].lowercaseString;
}
接受的答案解释了为什么这不起作用。
最佳答案
根据您对问题的编辑,需要进行一些调查......
看起来NSUUID
的行为就像一个类簇,如果不实现它的关键方法并自己提供UUID生成的功能,你就无法对其进行子类化。如果您对其进行子类化,您将获得一个 UUIDString
为空字符串的父类。虽然类的标准 init
会返回一个 __NSConcreteUUID
实例,但其 UUIDString
更有用!
如果上述内容令人困惑,以下部分实现显示了一种实现此目的的方法:
@interface LowerUUID : NSUUID
@end
@implementation LowerUUID
{
NSUUID *real;
}
- (id) init
{
self = [super init];
if (self)
real = NSUUID.new;
return self;
}
- (NSString *) UUIDString
{
NSString *original = [real UUIDString];
NSString *lower = original.lowercaseString;
return lower;
}
@end
为了完整,您还需要提供其他方法的实现。
对于这个特定的类,您不太可能会发现这是值得的,但对于像 NSMutableArray
这样的类集群,它确实有意义。
您可以向 Apple 提交错误报告,说明文档并未说明您不能简单地对 NSUUID
进行子类化。
关于objective-c - NSUUID 小写字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21385950/
我正在使用 SWIFT 在 iOS 中使用 iBeacon。当我尝试使用字符串创建 NSUUID 时。 XCode 给出一个奇怪的错误 ViewController.Type doesn't have
我需要在安装应用程序时为设备生成唯一 ID,并将此值存储在设备上,然后需要使用此 UUID 与服务器通信。似乎NSSUUD适合这种情况,但我很困惑是否有可能从多个设备复制 UUID。我已经找到答案了h
比较两个 NSUUID 的最佳(最少代码、最快、最可靠)方法是什么? 这是一个例子: -(BOOL)isUUID:(NSUUID*)uuid1 equalToUUID:(NSUUID*)uuid2 {
我在我的应用程序中使用 NSUUID 作为唯一 ID,如下所示: [[NSUUID UUID] UUIDString] 正如预期的结果一样,我得到一个像这样的ID:102A21AD-7216-4517
如何将 NSUUID 转换为 NSString? NSString *url = [self mysql_process:ESTIMOTE_PROXIMITY_UUID]; - (NSString*)
我目前正在尝试使用我的代码将蓝牙设备的 NSUUID 保存到核心数据中,如下所示: let appDel: AppDelegate = UIApplication.sharedApplication(
我需要从手机获取 NSString 格式的 deviceUUID。现在我有这个: NSString *deviceId = [UIDevice currentDevice].identifierFor
最近(审查一些代码)我偶然发现了一个奇怪的现象,它导致我们的程序出现错误。 我们正在使用的 API 具有以下实现(我将用 Swift 编写,即使原始代码是在 Objective-C 中) intern
我正在制作一个函数来检索 url 作为用户图像。但是,我的上传图片名称功能是由NSUUID 创建的。因此,我不知道每个用户个人资料图片的名称是什么。我如何改进我的代码以获得每个用户的用户 imgae
我正在开发 iOS Swift。 我已将 NSUUID 转换为 String,如下所示: var bdAddr: NSUUID? var text: String = bdAddr!.UUIDStri
我正在尝试创建一个具有指定值的 NSUUID: let uuidString = "000000-0000-0000-0000-000000000000" let beaconUUID:
如何从 NSString 转换为 NSUUID ?我得到了将 NSUUID 转换为 NSString 的答案,但找不到反之亦然。就像这是我的字符串 @"12033030303"alloc NSUUID
随着 Swift 3 的更新,getUUIDBytes 和 getBytes 在 UUID 对象上似乎都不可用。 let uuid = UIDevice.current.identifierForVe
我试图将制造商 Sensoro 的 obj-c 库绑定(bind)到我的 mac 上的 Xamarin.ios,但我一直陷入问题主题中所宣传的奇怪构建错误。我使用 sharpie 3 扫描头文件。令我
** 重写 ** 好吧,原来我真的在问一个不同的问题。我了解 hashValue 和 ==,所以这不相关。 我希望我的包装器类 BUUID 能够“做正确的事”并且就像 NSUUID 在字典中的行为一样
维基百科页面 https://en.wikipedia.org/wiki/Universally_unique_identifier声明在 UUID 规范的第 3 版(因此可能是第 5 版)中:“六位
我了解到 UUIDString 是一个唯一值,但我不知道这些值是否仍然相同,在 Xcode 上,当我运行该应用程序时,该值发生了变化, 通常是 ? 编辑: func application(a
我需要从 vendorIdentifier 获取 NSData 而不转换为 NSString,清除字节。如何使用 getUUIDBytes: 将 NSUUID 转换为 NSData? 最佳答案 NSU
我正在使用 Sprite Kit 编写 iOS 游戏(因此针对 iOS 7+),并且在初始化 gameObject (自定义类)时遇到问题。 如果我尝试为游戏 ID 设置 UUID,则构建会失败(请参
任何人都可以让我知道通过下面给出的这两种实现创建唯一 ID 之间的区别是什么 1) CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
我是一名优秀的程序员,十分优秀!