Ste*_*her 58 iphone cocoa cocoa-touch nsobject nsrange
这就是我想要做的事情:
NSRange r = NSMakeRange(0,5);
id a = [NSMutableArray a];
[a addObject: r]; // but NSRange is not a NSObject *
Run Code Online (Sandbox Code Playgroud)
使用布尔值,我会使用这样的代码:
[a addObject: [NSNumber numberWithBool: YES]];
Run Code Online (Sandbox Code Playgroud)
或者用整数:
[a addObject: [NSNumber numberWithInteger: 3]];
Run Code Online (Sandbox Code Playgroud)
那么什么是等同于NSRange
?我真的不想做的是创建我自己的子类NSObject
来完成这个.当然苹果已经提供了一种方式吗?
ken*_*ytm 137
使用NSValue+valueWithRange:
.要返回范围结构,请使用该属性rangeValue
.
[a addObject:[NSValue valueWithRange:r]];
...
NSRange r = a[4].rangeValue;
Run Code Online (Sandbox Code Playgroud)
mip*_*adi 12
[NSValue valueWithRange:r];
Run Code Online (Sandbox Code Playgroud)
并通过以下方式恢复原状:
NSRange r = [rangeObject rangeValue];
Run Code Online (Sandbox Code Playgroud)
如果您需要将其存储NSRange
在属性列表中,您还可以将其NSRange
转换为NSString
使用该NSStringFromRange
功能.然后,您可以使用该NSRangeFromString
函数将该字符串转换回范围.
归档时间: |
|
查看次数: |
17606 次 |
最近记录: |