作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的崩溃让我很困惑:
for( BLECharacteristic *chara in characteristics)
{
NSString *s = chara.uuid;
CBUUID *uuid = [CBUUID UUIDWithString: (chara.uuid)]; // can't do this?
[uuids addObject:uuid];
}
我的 BLECharacteristic 类在哪里:
#import <Foundation/Foundation.h>
@interface BLECharacteristic : NSObject
@property NSString *uuid;
@property bool shouldNotify;
- (void)setId:(NSString *)thisId;
@end
值不是零,我在别处将它设置为一个 NSString,通常类似于:“713D0003-503E-4C75-BA94-3148F18D941E”。实际上甚至:
CBUUID *uuid = [CBUUID UUIDWithString:@"713D0003-503E-4C75-BA94-3148F18D941E"];
工作得很好,但我希望事情变得更加可配置和动态。
我猜这对于真正了解 ObjC 的人来说非常简单,但我是一个低级的 C/C++ 人,我很困惑为什么我不能获取有效值并将其传递给此方法以创建一个CBUUID.
最佳答案
因为你已经将 s 分配为 NSString ,首先 NSLog 它的值。如果有效,则使用 UUIDWithString:s。为了更加安全并避免由于 nill 或 NULL 值而导致崩溃,alloc NSString *s= [NSString stringWithFormat:@"%@"...]。不要忘记在使用值之前分配初始化您的 NSString。
关于ios - 如何在 Objective C 中创建 CBUUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339257/
我是一名优秀的程序员,十分优秀!