日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NSRange的用法【转】

發布時間:2023/11/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSRange的用法【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NSRange的定義

typedef?struct?_NSRange

{

?NSUInteger location;

?NSUInteger length;

}?NSRange;

?

NSRange是一個結構體,其中location是一個以0為開始的index,length是表示對象的長度。他們都是NSUInteger類型。 而NSUInteger類型的定義如下:

#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64

typedef?unsigned?long?NSUInteger;

#else

typedef?unsigned?int?NSUInteger;

#endif

例子:

下面這個例子,將輸出IPA

NSString?*homebrew = @"Imperial India Pale Ale (IPA)";

// Starting at position 25, get 3 characters

NSRange?range = NSMakeRange?(25,?3);

// This would also work:

// NSRange range = {25, 3};

NSLog?(@"Beer shortname: %@",?[homebrew substringWithRange:range]);

搜索字符串:

NSString?*homebrew = @"Imperial India Pale Ale (IPA)";

NSRange?range =?[homebrew rangeOfString:@"IPA"];

// Did we find the string "IPA" ?

if?(range.length >?0)

?NSLog(@"Range is: %@", NSStringFromRange(range));

?

上面的程序將輸出Range is: {25, 3}。NSStringFromRange()方法,將一個NSRange返回一個NSString。而另外一個函數NSRangeFromString()則是將NSString轉換為NSRange

下面這個例子將從后向前反向搜索字符串:

NSString?*homebrew = @"Imperial India Pale Ale (IPA)";

// Search for the "ia" starting at the end of string

NSRange?range =?[homebrew rangeOfString:@"ia"?options:NSBackwardsSearch];

// What did we find

if?(range.length >?0)

?NSLog(@"Range is: %@", NSStringFromRange(range));

上面的程序將輸出:Range is: {12, 2}

ac

如果你要獲取一個字符串或者一個數組中的一個子集,那么使用NSRange會很方便的定義這個子集。

NSRange定義

Declaration:?typedef?struct?_NSRange?{

??NSUInteger location;

??NSUInteger length;

}?NSRange;

創建NSRange的方法定義

Declaration:?NSRange?NSMakeRange?(

???NSUInteger loc,

???NSUInteger len

?);

例如獲取一個數組的一個子集:

?????NSRange?range = NSMakeRange(0,?5);?

?????NSArray?*subArray =?[self.states subarrayWithRange:range];

這樣就獲得了這個數組中0開始的5個元素的子集。

轉載于:https://www.cnblogs.com/chivas/archive/2012/05/06/2485956.html

總結

以上是生活随笔為你收集整理的NSRange的用法【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。