标签: nsstring

如何使用drawAtPoint绘制多行文本?

我是自定义绘制一些文字:

point = CGPointMake(77, 5);
    [[message valueForKey:@"user_login"] drawAtPoint:point forWidth:200 
                                            withFont:mainFont 
                                         minFontSize:MIN_MAIN_FONT_SIZE 
                                      actualFontSize:NULL 
                                       lineBreakMode:UILineBreakModeTailTruncation 
                                  baselineAdjustment:UIBaselineAdjustmentAlignBaselines];
Run Code Online (Sandbox Code Playgroud)

我该如何画5条线?相当于:

rect = CGRectMake(77, 25, 238, 68);
bodyLabel = [[UILabel alloc] initWithFrame:rect];
bodyLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:12];
bodyLabel.numberOfLines = 5;
bodyLabel.lineBreakMode = UILineBreakModeWordWrap;
    bodyLabel.textColor = [UIColor blackColor];
    [self.contentView addSubview: bodyLabel];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c nsstring quartz-graphics

3
推荐指数
1
解决办法
2763
查看次数

子类化NSString

使用WSDL2ObjC我得到很多类,它们是NSString的子类.我发现初始化这些类的任何对象的NSString值很麻烦.

说我的课看起来像这样:

@interface mClass ; NSString {
     int value;
}
Run Code Online (Sandbox Code Playgroud)

现在在我的代码中,我想使用mClass的对象作为NSString,并且还想使用它的属性值,它是一个整数.

我怎样才能做到这一点?

我正在尝试使用这样的代码

 mClass *obj = [[mClass alloc] initWithString:@"Hello"];
Run Code Online (Sandbox Code Playgroud)

但它告诉我一个错误,说我正在使用类的抽象对象,我应该使用具体的实例.

nsstring

3
推荐指数
1
解决办法
2942
查看次数

Objective-C:所有字符串文字是否总是加载到内存中?

UIViewController子类中,我经常看到:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = NSLocalizedString(@"Home", nil);
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么不self.title进入-viewDidLoad

  2. 是否所有字符串文字都被加载到内存中?

memory objective-c nsstring ios

3
推荐指数
1
解决办法
342
查看次数

我是否需要释放由CFUUIDCreateString()创建的NSString?

我正在创建一个像这样的NSString,我之后是否应该发布它?

CFUUIDRef   uuidObj = CFUUIDCreate(nil);
        NSString *device = (NSString*)CFUUIDCreateString(nil, uuidObj);
        CFRelease(uuidObj);
Run Code Online (Sandbox Code Playgroud)

谢谢!

memory-management objective-c core-foundation nsstring ios

3
推荐指数
2
解决办法
3896
查看次数

从iPhone中的数组中检索NSString

我有一个数组,其中包含地图上路线的描述.我通过解析JSON得到了这个数组.我的数组包含以下格式的字符串:

    "<b>Sri Krishna Nagar Rd</b> \U306b\U5411\U304b\U3063\U3066<b>\U5317\U6771</b>\U306b\U9032\U3080",


"\U53f3\U6298\U3057\U3066\U305d\U306e\U307e\U307e <b>Sri Krishna Nagar Rd</b> \U3092\U9032\U3080",


        "\U5927\U304d\U304f\U5de6\U65b9\U5411\U306b\U66f2\U304c\U308a\U305d\U306e\U307e\U307e <b>Bailey Rd/<wbr/>NH 30</b> \U3092\U9032\U3080<div class=\"\">\U305d\U306e\U307e\U307e NH 30 \U3092\U9032\U3080</div><div class=\"google_note\">\n<b landmarkid=\"0x39ed57bfe47253b7:0x779c8bf48892f269\" class=\"dir-landmark\">Petrol Bunk</b>\U3092\U901a\U904e\U3059\U308b<div class=\"dirseg-sub\">\Uff083.9&nbsp;km \U5148\U3001\U53f3\U624b\Uff09</div>\n</div>",
Run Code Online (Sandbox Code Playgroud)

现在我想从这个数组得到名称,比如Sri Krishna Nagar Rd,NH 30 Petrol Bunk.前两个应该给Sri Krishna Nagar Rd,最后应该给NH 30 Petrol Bunk 我如何得到这样的结果.任何帮助将不胜感激.Thanx提前.

再说一次,假设我有这种格式的字符串...... "\U5de6\U6298\U3059\U308b"它没有ny地名.我将如何处理这种情况.

iphone nsstring nsarray

3
推荐指数
1
解决办法
709
查看次数

nsstring stringByReplacingOccurrencesOfString挫折?

我想替换/删除这个:

[\"

来自字符串bump3

NSString *bump5 = [bump3 stringByReplacingOccurrencesOfString:@"[\\"" withString:@""];
Run Code Online (Sandbox Code Playgroud)

错误:缺少终止""字符.

有人可以帮帮我吗?从盯着这个屏幕看,我的大脑已经被炒得很厉害了.

更新:

偶然想出来并试了一下!

@"\"是单个反斜杠@"\\"是双反斜杠

所以我使用了NSString*bump5 = [bump3 stringByReplacingOccurrencesOfString:@"[\\""withString:@""];

xcode replace nsstring

3
推荐指数
1
解决办法
2万
查看次数

如何将*)xÿª5c'√K'Rk¬É*转换为目标C中的纯文本?

请检查这里是我的代码

int asciiCode = @"29 78 D8 BB 35 12 63 D5 C3 4B 18 D5 52 6B C2 83";
NSString *strings = [NSString stringWithFormat:@"%c", asciiCode];
NSLog(@"%c",strings);
}
Run Code Online (Sandbox Code Playgroud)

如果值为29 78 D8 BB 35 12 63 D5 C3 4B 18 D5 52 6B C2 83它应显示为india是我的字符串值,但它显示为)xÿª5c'√K'Rk¬É

iphone xcode hex nsstring nsdata

3
推荐指数
1
解决办法
183
查看次数

NSString到JSON字符串

我有一个NSString以下格式.目前它不是一个有效的JSON字符串.我想将其更改为一个JSON字符串并将其存储在一个NSArray.这是我的NSString.

[, {"Agent":" Visitor", "Time":"03:18 AM", "Message":"Msg from : file:///Users/satheesanop/Desktop/something.htmlIP Address : 182.72.139.142Country : IndiaCity : MadrasRegionName : Tamil N?duBrowser : Chrome 22OS : Mac", }, {"Agent":" agent name", "Time":"03:21 AM", "Message":"Thank you for contacting us.How may i help you ?", }, {"Agent":" Visitor", "Time":"03:22 AM", "Message":"Some message.", }]
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

cocoa-touch json nsstring ios

3
推荐指数
1
解决办法
7047
查看次数

比较isEqual中的nil属性

编辑

从最初的答案来看,我不够清楚.我只是想检查我自己的自定义类的对象之间的相等性,结果取决于它的属性(我相信很标准)?我正在努力的一点是确保当两个实例的属性都为零时,属性被视为相等.

结束编辑

我想我的自定义类的对象返回YESisEqual时候它的所有属性都相同的参数传递的对象.这应该包括当两个属性nil.我最近了解到了[nil isEqual:nil]回报NO.

下面的实现会实现我想要的吗?

- (BOOL)isEqual:(id)object
    {
       if (object == self)
            return YES;
        if (!object || ![object isKindOfClass:[self class]])
            return NO;

        return (
            (!object.numberProperty && !self.numberProperty) || (object.numberProperty && self.numberProperty && [object.numberProperty isEqualToNumber:self.numberProperty])
            &&
            (!object.stringProperty && !self.stringProperty) || object.stringProperty && self.stringProperty && [object.stringProperty isEqualToNumber:self.stringProperty])
        ...etc
        );
    }
Run Code Online (Sandbox Code Playgroud)

我试图返回YES两个属性,nil并避免发送isEqualToNumberisEqualToString为零.

对于BOOLs我会猜测这是不必要的,因为一个BOOL不能nil- ==对于布尔人来说是否足够简单?

我缺少什么,或任何改善这种方法的方法?

cocoa equality objective-c nsnumber nsstring

3
推荐指数
1
解决办法
2787
查看次数

如何使用Swift将每个句子中的第一个单词大写

通过考虑用户区域设置,如何将段落中每个句子的第一个单词大写?我想要实现的是无论句子里面的情况如何,每个单词的第一个字母都是大写的,其余的都是小写的.首先将所有内容转换为小写,然后获得第一个字母并制作大写字母,最后将它们一起添加,我只能做一个句子.我的问题与如何使用Swift iOS将字符串中的每个单词大写不同,因为我不想将每个单词大写.我只想把每个句子的第一个单词弄清楚.capitalizedString

"this is first sentence. this is second sentence."
Run Code Online (Sandbox Code Playgroud)

"This Is First Sentence. This Is Second Sentence."
Run Code Online (Sandbox Code Playgroud)

我想要的是

"This is first sentence. This is second sentence."
Run Code Online (Sandbox Code Playgroud)

我的问题也不同于每个句子的首字母大写,因为@ rintaro的代码不适用于我的下面的例子.它保留原始文本中的大写字母完整.使用@ rintaro的代码;

之前

"someSentenceWith UTF text ????. anotherSentence?üÜ?"
Run Code Online (Sandbox Code Playgroud)

"SomeSentenceWith UTF text ????. AnotherSentence?üÜ?."
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标,

"Somesentencewith utf text i???. Anothersentence?üü?." 
Run Code Online (Sandbox Code Playgroud)

我的代码只能进行部分转换.

var description = "someSentenceWith UTF text ????. anotherSentence?üÜ?"
description = description.lowercaseStringWithLocale(NSLocale.currentLocale())
let first = description.startIndex
let rest = advance(first,1)..<description.endIndex
let capitalised = description[first...first].uppercaseStringWithLocale(NSLocale.currentLocale()) + …
Run Code Online (Sandbox Code Playgroud)

nsstring swift

3
推荐指数
1
解决办法
2059
查看次数