0

Object-CとiOSの開発を学ぶための冒険の一環として、簡単な電卓を機能させることに取り組んでいます。

NSStringを使用するObject-Cでは、文字列内のピリオドをどのように検索しますか?

コメントに基づいて、これは私がこれまでに得たものです。

NSString * tmp = [display text];

NSLog(@"%@", tmp); // Shows the number on the display correctly

int x = [tmp rangeOfString:@"."].location;

NSLog(@"%i", x); // Shows some random signed number 

if (x < 0) {
    [display setText:[[display text] stringByAppendingFormat:@"."]]; 
} 

それはまだ機能していません:(

4

1 に答える 1

0

NSRangeはまっすぐな構造体です...

typedef struct _NSRange {
      NSUInteger location;
      NSUInteger length;
} NSRange;

int x = [@"hello.there.ok" rangeOfString:@"."].location;
printf("x is %d\n",x);

5を印刷します。

そしてここにプログラム全体があります:

int main(int argc, char *argv[])
{
    NSString *ht = @"This is a string";
    int r1 = [ht rangeOfString:@"is"].location;
    int r2 = [ht rangeOfString:@"is a"].location;
    int r3 = [ht rangeOfString:@"isnt"].location;
    NSLog(@"r1=%d, r2=%d, r3=%d, that's all\n",r1,r2,r3);
}

印刷するもの:

Program loaded.
run
[Switching to process 21098]
Running…
2011-01-14 20:45:25.192 DELETEME[21098:a0b] r1=2, r2=5, r3=-1, that's all

これをXCode、Mac OSで実行すると...まっすぐになるはずです!

于 2011-01-14T05:14:00.950 に答える