草庐IT

nsstring

全部标签

iphone - NSString boundingRectWithSize 使用 CoreText Framesetter 切割高度短? iOS

我有一个自定义的UIView,它通过CoreText绘制一个NSString:-(NSMutableAttributedString*)getAttributedString:(NSString*)displayText{string=[[NSMutableAttributedStringalloc]initWithString:displayText];helvetica=CTFontCreateWithName(CFSTR("Helvetica"),20.0,NULL);[stringaddAttribute:(id)kCTFontAttributeNamevalue:(__bri

ios - 如何实现@property(class, readonly, copy, nonatomic) NSArray<NSString *> * _Nullable readableTypeIdentifiersForItemProvider;

尝试实现NSItemProviderReading协议(protocol)。在Objective-C中,你如何满足:@property(class,readonly,copy,nonatomic)NSArray*_NullablereadableTypeIdentifiersForItemProvider;我假设它需要带有UTI的NSArray,但是class引用让我失望。 最佳答案 这是一个class属性,因此我们将从+开始。它返回一个NSArray*,名字是readableTypeIdentifiersForItemProvid

ios - NSObject 发布了,NSString,NSArray 没有?

如果我写——NSObject*a=[[NSObjectalloc]init];//orUIVieworsomething[arelease];NSLog(@"a=%@",a);//causesEXC_BAD_ACCESS,fine但是,如果我写-NSArray*a=[[NSArrayalloc]init];//orNSStringorNSDictionary[arelease];NSLog(@"a=%@",a);//nocrash,printsemptyarrayorstring为什么第二种情况不会导致访问错误,因为它已发布? 最佳答案

iphone - 为什么 NSNumber 类不能正确地将我的 NSString 对象转换为 long long?

我正在尝试将NSString对象转换为具有相同数值的NSNumber。当我使用此语句创建NSString对象时...NSString*songID=[localNotif.userInfoobjectForKey:@"SongID"];varsongID包含字符串值@"10359537395704663785"。当我尝试使用语句将其转换为NSNumber对象时...NSNumber*songIDNumber=[NSNumbernumberWithLongLong:[songIDlongLongValue]];varsongIDNumber包含错误的值922337203685477580

ios - 仅当有小数部分时,CGFloat 到带小数的 NSString

不确定如何正确表达标题...但我想知道是否有一些巧妙的格式说明符可以使用数字4.5并给我@"4.5"但也可以使用数字2并给我@“2”。使用%.1f说明符给我@"4.5"和@"2.0"。我正在尝试摆脱“.0”位。是否存在这样的野兽,或者我是否需要对此做一些数学计算?FWIW,我正在尝试迭代从0到5的值数组,以半步递增,所以0,0.5,1,1.5,...,4.5,5干杯! 最佳答案 NSNumberFormatter在这里是个不错的选择。如果数字是整数,您可以将其配置为不显示小数位。例如:NSArray*numbers=@[@0,@0.

ios - NSString stringWithFormat 返回类型,为什么是 "id"?

为什么方法[NSStringstringWithFormat]返回一个id类型?从我期望的名称来看,它返回一个NSString,而不是一个通用指针。其他类遵循此“规则”。例如[NSNumbernumberWithInt]返回一个NSNumber,而不是一个id。我认为从类似于工厂方法的事实来看,这甚至是不合理的。 最佳答案 你提到了NSNumber,它没有任何直接的子类,所以numberWithInt:返回一个NSNumber*是安全的。p>NSString*(以及其他类,例如NSSet)返回类型id因为它们可以有子类(NSMuta

objective-c - Objective C UIColor 到 NSString

我需要将UIColor转换为具有颜色名称的NSString,即[UIColorredColor];应该变成@"RedColor"我已经尝试过[UIColorredColor].CIColor.stringRepresentation但它会导致编译器错误 最佳答案 只是扩展@Luke链接到的答案,创建一个CGColorRef传递给CIColor:CGColorRefcolorRef=[UIColorgrayColor].CGColor;您可以改为简单地传递您正在处理的UIColor的CGColor属性,例如:NSString*colo

iphone - 是否可以将 NSString 转换为纯 Objective C 代码

比如我有NSString*string=@"returnsharedInstance;";我有一个类方法+(id)sharedInstance;我能否将该字符串转换为纯代码并在我的方法中使用它?这对于调试非常有用。假设我有一个方法,我想在其中测试一些代码(让它是简单的返回值,这可能吗?)我可以只为该方法编写代码并在运行时测试新代码。 最佳答案 iOS上的ObjectiveC是一种编译语言;早在您运行应用程序之前,代码就会被解释并翻译成机器代码。以这种动态方式运行Objective-C是不可能的。为此,您需要一种动态语言。

ios - 将长 NSString 转换为 NSNumber

我无法可靠地将较长的NSString转换为NSNumber。具体来说,我正在将MPMediaEntityPropertyPersistentID作为字符串转换为NSNumber有时它可以工作,但通常不会。转化码:NSString*keke=[jsonArrayobjectForKey:@"next"];NSNumberFormatter*f=[[NSNumberFormatteralloc]init];[fsetNumberStyle:NSNumberFormatterDecimalStyle];NSNumber*persistentIDasNumber=[fnumberFromStr

ios - 向ios NSString中的某些文本添加点击事件

我有以下代码,想让我的部分文本可以点击并调用另一个UIViewController(不是网站)。NSMutableAttributedString*str=[[NSMutableAttributedStringalloc]initWithString:@"testingitout@clickhere"];NSIntegerlength=str.length;[straddAttribute:NSForegroundColorAttributeNamevalue:[UIColorbestTextColor]range:NSMakeRange(0,length)];NSMutableAtt