-2

私はiphone開発の初心者で、文字列の部分文字列を解析しようとしています。解析対象の部分文字列は、解析されるたびに長さが異なるため、範囲付きの部分文字列を使用して、部分文字列が常に間にある 2 つの文字を示します。問題は、Exception - [__NSCFString substringWithRange:]: Range or index out of bounds. どんな助けでも大歓迎です。

マイコード

NSString * storyLink = @"http://link.brightcove.com/services/link/bcpid1683318714001/bclid1644543007001/bctid2212677853001?src=mrss"//<--Parsing the numbers between "bctid" & "?src"
NSRange start = [storyLink rangeOfString:@"d" options:NSBackwardsSearch];
NSRange end = [storyLink rangeOfString:@"?" options:NSBackwardsSearch];
NSString *clipid = [storyLink substringWithRange:NSMakeRange(start.location, end.location)];//<--Exception thrown here
NSLog(@"clipid: %@", clipid);
4

1 に答える 1

2

範囲は の形式であると解釈されます{ begin, length }NSRange構造体のメンバーがlocationandlengthではなくbeginandと呼ばれるのには理由がありendます。コードを次のように変更します

NSMakeRange(start.location, end.location - start.location)

そしてそれはうまくいくでしょう。

于 2013-03-08T23:38:54.853 に答える