我是自定义绘制一些文字:
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) 使用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)
但它告诉我一个错误,说我正在使用类的抽象对象,我应该使用具体的实例.
在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)
为什么不self.title进入-viewDidLoad?
是否所有字符串文字都被加载到内存中?
我正在创建一个像这样的NSString,我之后是否应该发布它?
CFUUIDRef uuidObj = CFUUIDCreate(nil);
NSString *device = (NSString*)CFUUIDCreateString(nil, uuidObj);
CFRelease(uuidObj);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个数组,其中包含地图上路线的描述.我通过解析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 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地名.我将如何处理这种情况.
我想替换/删除这个:
[\"
来自字符串bump3
NSString *bump5 = [bump3 stringByReplacingOccurrencesOfString:@"[\\"" withString:@""];
Run Code Online (Sandbox Code Playgroud)
错误:缺少终止""字符.
有人可以帮帮我吗?从盯着这个屏幕看,我的大脑已经被炒得很厉害了.
更新:
偶然想出来并试了一下!
@"\"是单个反斜杠@"\\"是双反斜杠
所以我使用了NSString*bump5 = [bump3 stringByReplacingOccurrencesOfString:@"[\\""withString:@""];
请检查这里是我的代码
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¬É
我有一个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)
任何帮助表示赞赏.
编辑
从最初的答案来看,我不够清楚.我只是想检查我自己的自定义类的对象之间的相等性,结果取决于它的属性(我相信很标准)?我正在努力的一点是确保当两个实例的属性都为零时,属性被视为相等.
结束编辑
我想我的自定义类的对象返回YES的isEqual时候它的所有属性都相同的参数传递的对象.这应该包括当两个属性都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并避免发送isEqualToNumber或isEqualToString为零.
对于BOOLs我会猜测这是不必要的,因为一个BOOL不能nil- ==对于布尔人来说是否足够简单?
我缺少什么,或任何改善这种方法的方法?
通过考虑用户区域设置,如何将段落中每个句子的第一个单词大写?我想要实现的是无论句子里面的情况如何,每个单词的第一个字母都是大写的,其余的都是小写的.首先将所有内容转换为小写,然后获得第一个字母并制作大写字母,最后将它们一起添加,我只能做一个句子.我的问题与如何使用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)