- (int)getMsgLen:(NSString *)msg{
int unicode = 0;//is arabic or english (1=arabic 0=english)
NSString *str = @"دجحخهعغفقثصضطكمنتالبيسشظزوةىلارؤءئإلإألأآلآ،؛؟ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيـًٌٍَُِّْ";
for (int i = 0; i<[str length]; i++) {
NSString *strResult = [str substringWithRange:NSMakeRange(i, 1)];
for (int r = 0; r<[msg length] ;r++) {
NSString *msgResult = [msg substringWithRange:NSMakeRange(r, 1)];
if([strResult isEqualToString:msgResult] && strResult)
unicode = 1;
}
}
int msgLenght = 1;
// arabic value
float oneMsgLenth = 70;
float twoMsgLenth = 67;
// english value
if(unicode == 0){
oneMsgLenth = 160;
twoMsgLenth = 134;
}
int numChar = [msg length];
if( numChar > oneMsgLenth){
msgLenght = ceil(numChar / twoMsgLenth);
}
return msgLenght;
}
私はこのコードを持っています。このコードは、メッセージの計算数を変更するアラビア文字があるかどうかを確認します。このコードは、UITextView に書き込むたびに機能し、正常に機能していますが、クリックするたびにUI ラベル。
それを非常に速くするのに役立つアドバイスはありますか?