iOS常用公共方法

ios常用公共方法

1. 獲取磁盤總空間大小

//磁盤總空間

+ (CGFloat)diskOfAllSizeMBytes{

? ? CGFloat size = 0.0;

? ? NSError *error;

? ? NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];

? ? if (error) {

#ifdef DEBUG

? ? ? ? NSLog(@"error: %@", error.localizedDescription);

#endif

? ? }else{

? ? ? ? NSNumber *number = [dic objectForKey:NSFileSystemSize];

? ? ? ? size = [number floatValue]/1024/1024;

? ? }

? ? return size;

}


2. 獲取磁盤可用空間大小

//磁盤可用空間

+ (CGFloat)diskOfFreeSizeMBytes{

????CGFloat size = 0.0;

????NSError*error;

????NSDictionary*dic = [[NSFileManagerdefaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];

????if(error) {

#ifdef DEBUG

????????NSLog(@"error: %@", error.localizedDescription);

#endif

????}else{

????????NSNumber*number = [dic objectForKey:NSFileSystemFreeSize];

????????size = [number floatValue]/1024/1024;

????}

????returnsize;

}



3. 獲取指定路徑下某個(gè)文件的大小

//獲取文件大小

+ (longlong)fileSizeAtPath:(NSString*)filePath{

????NSFileManager*fileManager = [NSFileManagerdefaultManager];

????if(![fileManager fileExistsAtPath:filePath]) return0;

????return[[fileManager attributesOfItemAtPath:filePath error:nil] fileSize];

}



4. 獲取文件夾下所有文件的大小

//獲取文件夾下所有文件的大小

+ (longlong)folderSizeAtPath:(NSString*)folderPath{

????NSFileManager*fileManager = [NSFileManagerdefaultManager];

????if(![fileManager fileExistsAtPath:folderPath]) return0;

????NSEnumerator*filesEnumerator = [[fileManager subpathsAtPath:folderPath] objectEnumerator];

????NSString*fileName;

????longlongfolerSize = 0;

????while((fileName = [filesEnumerator nextObject]) != nil) {

????????NSString*filePath = [folderPath stringByAppendingPathComponent:fileName];

????????folerSize += [selffileSizeAtPath:filePath];

????}

????returnfolerSize;

}



5. 獲取字符串(或漢字)首字母

//獲取字符串(或漢字)首字母

+ (NSString*)firstCharacterWithString:(NSString*)string{

????NSMutableString*str = [NSMutableStringstringWithString:string];

????CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformMandarinLatin, NO);

????CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformStripDiacritics, NO);

????NSString*pingyin = [str capitalizedString];

????return[pingyin substringToIndex:1];

}



6. 將字符串?dāng)?shù)組按照元素首字母順序進(jìn)行排序分組

//將字符串?dāng)?shù)組按照元素首字母順序進(jìn)行排序分組

+ (NSDictionary*)dictionaryOrderByCharacterWithOriginalArray:(NSArray*)array{

????if(array.count == 0) {

????????returnnil;

????}

????for(idobj in array) {

????????if(![obj isKindOfClass:[NSStringclass]]) {

????????????returnnil;

????????}

????}

????UILocalizedIndexedCollation *indexedCollation = [UILocalizedIndexedCollation currentCollation];

????NSMutableArray*objects = [NSMutableArrayarrayWithCapacity:indexedCollation.sectionTitles.count];

????//創(chuàng)建27個(gè)分組數(shù)組

????for(inti = 0; i < indexedCollation.sectionTitles.count; i++) {

????????NSMutableArray*obj = [NSMutableArrayarray];

????????[objects addObject:obj];

????}

????NSMutableArray*keys = [NSMutableArrayarrayWithCapacity:objects.count];

????//按字母順序進(jìn)行分組

????NSIntegerlastIndex = -1;

????for(inti = 0; i < array.count; i++) {

????????NSIntegerindex = [indexedCollation sectionForObject:array[i] collationStringSelector:@selector(uppercaseString)];

????????[[objects objectAtIndex:index] addObject:array[i]];

????????lastIndex = index;

????}

????//去掉空數(shù)組

????for(inti = 0; i < objects.count; i++) {

????????NSMutableArray*obj = objects[i];

????????if(obj.count == 0) {

????????????[objects removeObject:obj];

????????}

????}

????//獲取索引字母

????for(NSMutableArray*obj in objects) {

????????NSString*str = obj[0];

????????NSString*key = [selffirstCharacterWithString:str];

????????[keys addObject:key];

????}

????NSMutableDictionary*dic = [NSMutableDictionarydictionary];

????[dic setObject:objects forKey:keys];

????returndic;

}


//獲取字符串(或漢字)首字母

+ (NSString*)firstCharacterWithString:(NSString*)string{

????NSMutableString*str = [NSMutableStringstringWithString:string];

????CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformMandarinLatin, NO);

????CFStringTransform((CFMutableStringRef)str, NULL, kCFStringTransformStripDiacritics, NO);

????NSString*pingyin = [str capitalizedString];

????return[pingyin substringToIndex:1];

}

使用如下:

NSArray*arr = @[@"guangzhou", @"shanghai", @"北京", @"henan", @"hainan"];

NSDictionary*dic = [Utilities dictionaryOrderByCharacterWithOriginalArray:arr];

NSLog(@"\n\ndic: %@", dic);

輸出結(jié)果如下:


7. 獲取當(dāng)前時(shí)間

//獲取當(dāng)前時(shí)間

//format: @"yyyy-MM-dd HH:mm:ss"、@"yyyy年MM月dd日 HH時(shí)mm分ss秒"

+ (NSString*)currentDateWithFormat:(NSString*)format{

????NSDateFormatter*dateFormatter = [[NSDateFormatteralloc] init];

????[dateFormatter setDateFormat:format];

????return[dateFormatter stringFromDate:[NSDatedate]];

}



8. 計(jì)算上次日期距離現(xiàn)在多久, 如 xx 小時(shí)前、xx 分鐘前等

/**

?*? 計(jì)算上次日期距離現(xiàn)在多久

?*

?*? @param lastTime??? 上次日期(需要和格式對應(yīng))

?*? @param format1???? 上次日期格式

?*? @param currentTime 最近日期(需要和格式對應(yīng))

?*? @param format2???? 最近日期格式

?*

?*? @return xx分鐘前滥崩、xx小時(shí)前钙皮、xx天前

?*/

+ (NSString*)timeIntervalFromLastTime:(NSString*)lastTime

????????????????????????lastTimeFormat:(NSString*)format1

?????????????????????????ToCurrentTime:(NSString*)currentTime

?????????????????????currentTimeFormat:(NSString*)format2{

????//上次時(shí)間

????NSDateFormatter*dateFormatter1 = [[NSDateFormatteralloc]init];

????dateFormatter1.dateFormat = format1;

????NSDate*lastDate = [dateFormatter1 dateFromString:lastTime];

????//當(dāng)前時(shí)間

????NSDateFormatter*dateFormatter2 = [[NSDateFormatteralloc]init];

????dateFormatter2.dateFormat = format2;

????NSDate*currentDate = [dateFormatter2 dateFromString:currentTime];

????return[Utilities timeIntervalFromLastTime:lastDate ToCurrentTime:currentDate];

}


+ (NSString*)timeIntervalFromLastTime:(NSDate*)lastTime ToCurrentTime:(NSDate*)currentTime{

????NSTimeZone*timeZone = [NSTimeZonesystemTimeZone];

????//上次時(shí)間

????NSDate*lastDate = [lastTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:lastTime]];

????//當(dāng)前時(shí)間

????NSDate*currentDate = [currentTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:currentTime]];

????//時(shí)間間隔

????NSIntegerintevalTime = [currentDate timeIntervalSinceReferenceDate] - [lastDate timeIntervalSinceReferenceDate];


????//秒崇摄、分、小時(shí)屹蚊、天汹粤、月嘱兼、年

????NSIntegerminutes = intevalTime / 60;

????NSIntegerhours = intevalTime / 60 / 60;

????NSIntegerday = intevalTime / 60 / 60 / 24;

????NSIntegermonth = intevalTime / 60 / 60 / 24 / 30;

????NSIntegeryers = intevalTime / 60 / 60 / 24 / 365;


????if(minutes <= 10) {

????????return@"剛剛";

????}elseif(minutes < 60){

????????return[NSStringstringWithFormat: @"%ld分鐘前",(long)minutes];

????}elseif(hours < 24){

????????return[NSStringstringWithFormat: @"%ld小時(shí)前",(long)hours];

????}elseif(day < 30){

????????return[NSStringstringWithFormat: @"%ld天前",(long)day];

????}elseif(month < 12){

????????NSDateFormatter* df =[[NSDateFormatteralloc]init];

????????df.dateFormat = @"M月d日";

????????NSString* time = [df stringFromDate:lastDate];

????????returntime;

????}elseif(yers >= 1){

????????NSDateFormatter* df =[[NSDateFormatteralloc]init];

????????df.dateFormat = @"yyyy年M月d日";

????????NSString* time = [df stringFromDate:lastDate];

????????returntime;

????}

????return@"";

}

使用如下:

NSLog(@"\n\nresult: %@", [Utilities timeIntervalFromLastTime:@"2015年12月8日 15:50"

???????????????????????????????????????????lastTimeFormat:@"yyyy年MM月dd日 HH:mm"

????????????????????????????????????????????ToCurrentTime:@"2015/12/08 16:12"

????????????????????????????????????????currentTimeFormat:@"yyyy/MM/dd HH:mm"]);

輸出結(jié)果如下:


9. 判斷手機(jī)號碼格式是否正確

//判斷手機(jī)號碼格式是否正確

+ (BOOL)valiMobile:(NSString*)mobile{

????mobile = [mobile stringByReplacingOccurrencesOfString:@" "withString:@""];

????if(mobile.length != 11)

????{

????????returnNO;

????}else{

????????/**

?????????* 移動號段正則表達(dá)式

?????????*/

????????NSString*CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

????????/**

?????????* 聯(lián)通號段正則表達(dá)式

?????????*/

????????NSString*CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

????????/**

?????????* 電信號段正則表達(dá)式

?????????*/

????????NSString*CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

????????NSPredicate*pred1 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CM_NUM];

????????BOOLisMatch1 = [pred1 evaluateWithObject:mobile];

????????NSPredicate*pred2 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CU_NUM];

????????BOOLisMatch2 = [pred2 evaluateWithObject:mobile];

????????NSPredicate*pred3 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CT_NUM];

????????BOOLisMatch3 = [pred3 evaluateWithObject:mobile];


????????if(isMatch1 || isMatch2 || isMatch3) {

????????????returnYES;

????????}else{

????????????returnNO;

????????}}}



10. 判斷郵箱格式是否正確

//利用正則表達(dá)式驗(yàn)證

+ (BOOL)isAvailableEmail:(NSString*)email {

????NSString*emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

????NSPredicate*emailTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", emailRegex];

????return[emailTest evaluateWithObject:email];

}


11. 將十六進(jìn)制顏色轉(zhuǎn)換為 UIColor 對象

//將十六進(jìn)制顏色轉(zhuǎn)換為 UIColor 對象

+ (UIColor *)colorWithHexString:(NSString*)color{

????NSString*cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];

????// String should be 6 or 8 characters

????if([cString length] < 6) {

????????return[UIColor clearColor];

????}

????// strip "0X" or "#" if it appears

????if([cString hasPrefix:@"0X"])

????????cString = [cString substringFromIndex:2];

????if([cString hasPrefix:@"#"])

????????cString = [cString substringFromIndex:1];

????if([cString length] != 6)

????????return[UIColor clearColor];

????// Separate into r, g, b substrings

????NSRangerange;

????range.location = 0;

????range.length = 2;

????//r

????NSString*rString = [cString substringWithRange:range];

????//g

????range.location = 2;

????NSString*gString = [cString substringWithRange:range];

????//b

????range.location = 4;

????NSString*bString = [cString substringWithRange:range];

????// Scan values

????unsigned intr, g, b;

????[[NSScannerscannerWithString:rString] scanHexInt:&r];

????[[NSScannerscannerWithString:gString] scanHexInt:&g];

????[[NSScannerscannerWithString:bString] scanHexInt:&b];

????return[UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];

}


12. 對圖片進(jìn)行濾鏡處理

#pragma mark - 對圖片進(jìn)行濾鏡處理

// 懷舊 --> CIPhotoEffectInstant???????????????????????? 單色 --> CIPhotoEffectMono

// 黑白 --> CIPhotoEffectNoir??????????????????????????? 褪色 --> CIPhotoEffectFade

// 色調(diào) --> CIPhotoEffectTonal?????????????????????????? 沖印 --> CIPhotoEffectProcess

// 歲月 --> CIPhotoEffectTransfer??????????????????????? 鉻黃 --> CIPhotoEffectChrome

// CILinearToSRGBToneCurve, CISRGBToneCurveToLinear, CIGaussianBlur, CIBoxBlur, CIDiscBlur, CISepiaTone, CIDepthOfField

+ (UIImage *)filterWithOriginalImage:(UIImage *)image filterName:(NSString*)name{

????CIContext *context = [CIContext contextWithOptions:nil];

????CIImage *inputImage = [[CIImage alloc] initWithImage:image];

????CIFilter *filter = [CIFilter filterWithName:name];

????[filter setValue:inputImage forKey:kCIInputImageKey];

????CIImage *result = [filter valueForKey:kCIOutputImageKey];

????CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];

????UIImage *resultImage = [UIImage imageWithCGImage:cgImage];

????CGImageRelease(cgImage);

????returnresultImage;

}


13. 對圖片進(jìn)行模糊處理

#pragma mark - 對圖片進(jìn)行模糊處理

// CIGaussianBlur ---> 高斯模糊

// CIBoxBlur????? ---> 均值模糊(Available in iOS 9.0 and later)

// CIDiscBlur???? ---> 環(huán)形卷積模糊(Available in iOS 9.0 and later)

// CIMedianFilter ---> 中值模糊, 用于消除圖像噪點(diǎn), 無需設(shè)置radius(Available in iOS 9.0 and later)

// CIMotionBlur?? ---> 運(yùn)動模糊, 用于模擬相機(jī)移動拍攝時(shí)的掃尾效果(Available in iOS 9.0 and later)

+ (UIImage *)blurWithOriginalImage:(UIImage *)image blurName:(NSString*)name radius:(NSInteger)radius{

????CIContext *context = [CIContext contextWithOptions:nil];

????CIImage *inputImage = [[CIImage alloc] initWithImage:image];

????CIFilter *filter;

????if(name.length != 0) {

????????filter = [CIFilter filterWithName:name];

????????[filter setValue:inputImage forKey:kCIInputImageKey];

????????if(![name isEqualToString:@"CIMedianFilter"]) {

????????????[filter setValue:@(radius) forKey:@"inputRadius"];

????????}

????????CIImage *result = [filter valueForKey:kCIOutputImageKey];

????????CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];

????????UIImage *resultImage = [UIImage imageWithCGImage:cgImage];

????????CGImageRelease(cgImage);

????????returnresultImage;

????}else{

????????returnnil;

????}

}


14. 調(diào)整圖片飽和度睁壁、亮度潘明、對比度

/**

?*? 調(diào)整圖片飽和度, 亮度, 對比度

?*

?*? @param image????? 目標(biāo)圖片

?*? @param saturation 飽和度

?*? @param brightness 亮度: -1.0 ~ 1.0

?*? @param contrast?? 對比度

?*

?*/

+ (UIImage *)colorControlsWithOriginalImage:(UIImage *)image

?????????????????????????????????saturation:(CGFloat)saturation

?????????????????????????????????brightness:(CGFloat)brightness

???????????????????????????????????contrast:(CGFloat)contrast{

????CIContext *context = [CIContext contextWithOptions:nil];

????CIImage *inputImage = [[CIImage alloc] initWithImage:image];

????CIFilter *filter = [CIFilter filterWithName:@"CIColorControls"];

????[filter setValue:inputImage forKey:kCIInputImageKey];


????[filter setValue:@(saturation) forKey:@"inputSaturation"];

????[filter setValue:@(brightness) forKey:@"inputBrightness"];// 0.0 ~ 1.0

????[filter setValue:@(contrast) forKey:@"inputContrast"];


????CIImage *result = [filter valueForKey:kCIOutputImageKey];

????CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];

????UIImage *resultImage = [UIImage imageWithCGImage:cgImage];

????CGImageRelease(cgImage);

????returnresultImage;

}


15. 創(chuàng)建一張實(shí)時(shí)模糊效果 View (毛玻璃效果)

//Avilable in iOS 8.0 and later

+ (UIVisualEffectView *)effectViewWithFrame:(CGRect)frame{

????UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];

????UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];

????effectView.frame = frame;

????returneffectView;

}


16. 全屏截圖

//全屏截圖

+ (UIImage *)shotScreen{

????UIWindow *window = [UIApplication sharedApplication].keyWindow;

????UIGraphicsBeginImageContext(window.bounds.size);

????[window.layer renderInContext:UIGraphicsGetCurrentContext()];

????UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

????UIGraphicsEndImageContext();

????returnimage;

}


17. 截取一張 view 生成圖片

//截取view生成一張圖片

+ (UIImage *)shotWithView:(UIView *)view{

????UIGraphicsBeginImageContext(view.bounds.size);

????[view.layer renderInContext:UIGraphicsGetCurrentContext()];

????UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

????UIGraphicsEndImageContext();

????returnimage;

}


18. 截取view中某個(gè)區(qū)域生成一張圖片

//截取view中某個(gè)區(qū)域生成一張圖片

+ (UIImage *)shotWithView:(UIView *)view scope:(CGRect)scope{

????CGImageRef imageRef = CGImageCreateWithImageInRect([selfshotWithView:view].CGImage, scope);

????UIGraphicsBeginImageContext(scope.size);

????CGContextRef context = UIGraphicsGetCurrentContext();

????CGRect rect = CGRectMake(0, 0, scope.size.width, scope.size.height);

????CGContextTranslateCTM(context, 0, rect.size.height);//下移

????CGContextScaleCTM(context, 1.0f, -1.0f);//上翻

????CGContextDrawImage(context, rect, imageRef);

????UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

????UIGraphicsEndImageContext();

????CGImageRelease(imageRef);

????CGContextRelease(context);

????returnimage;

}


19. 壓縮圖片到指定尺寸大小

//壓縮圖片到指定尺寸大小

+ (UIImage *)compressOriginalImage:(UIImage *)image toSize:(CGSize)size{

????UIImage *resultImage = image;

????UIGraphicsBeginImageContext(size);

????[resultImage drawInRect:CGRectMake(0, 0, size.width, size.height)];

????UIGraphicsEndImageContext();

????returnresultImage;

}


20. 壓縮圖片到指定文件大小

//壓縮圖片到指定文件大小

+ (NSData*)compressOriginalImage:(UIImage *)image toMaxDataSizeKBytes:(CGFloat)size{

????NSData*data = UIImageJPEGRepresentation(image, 1.0);

????CGFloat dataKBytes = data.length/1000.0;

????CGFloat maxQuality = 0.9f;

????CGFloat lastData = dataKBytes;

????while(dataKBytes > size && maxQuality > 0.01f) {

????????maxQuality = maxQuality - 0.01f;

????????data = UIImageJPEGRepresentation(image, maxQuality);

????????dataKBytes = data.length/1000.0;

????????if(lastData == dataKBytes) {

????????????break;

????????}else{

????????????lastData = dataKBytes;

????????}

????}

????returndata;

}




22. 判斷字符串中是否含有空格

+ (BOOL)isHaveSpaceInString:(NSString*)string{

????NSRange_range = [string rangeOfString:@" "];

????if(_range.location != NSNotFound) {

????????returnYES;

????}else{

????????returnNO;

????}

}


23. 判斷字符串中是否含有某個(gè)字符串

+ (BOOL)isHaveString:(NSString*)string1 InString:(NSString*)string2{

????NSRange_range = [string2 rangeOfString:string1];

????if(_range.location != NSNotFound) {

????????returnYES;

????}else{

????????returnNO;

????}}



24. 判斷字符串中是否含有中文

+ (BOOL)isHaveChineseInString:(NSString*)string{

????for(NSIntegeri = 0; i < [string length]; i++){

????????inta = [string characterAtIndex:i];

????????if(a > 0x4e00 && a < 0x9fff) {

????????????returnYES;

????????}

????}

????returnNO;

}


25. 判斷字符串是否全部為數(shù)字

+ (BOOL)isAllNum:(NSString*)string{

????unichar c;

????for(inti=0; i

????????c=[string characterAtIndex:i];

????????if(!isdigit(c)) {

????????????returnNO;

????????}

????}

????returnYES;

}


26. 繪制虛線

/*

??** lineFrame:???? 虛線的 frame

??** length:??????? 虛線中短線的寬度

??** spacing:?????? 虛線中短線之間的間距

??** color:???????? 虛線中短線的顏色

*/

+ (UIView *)createDashedLineWithFrame:(CGRect)lineFrame

???????????????????????????lineLength:(int)length

??????????????????????????lineSpacing:(int)spacing

????????????????????????????lineColor:(UIColor *)color{

????UIView *dashedLine = [[UIView alloc] initWithFrame:lineFrame];

????dashedLine.backgroundColor = [UIColor clearColor];

????CAShapeLayer *shapeLayer = [CAShapeLayer layer];

????[shapeLayer setBounds:dashedLine.bounds];

????[shapeLayer setPosition:CGPointMake(CGRectGetWidth(dashedLine.frame) / 2, CGRectGetHeight(dashedLine.frame))];

????[shapeLayer setFillColor:[UIColor clearColor].CGColor];

????[shapeLayer setStrokeColor:color.CGColor];

????[shapeLayer setLineWidth:CGRectGetHeight(dashedLine.frame)];

????[shapeLayer setLineJoin:kCALineJoinRound];

????[shapeLayer setLineDashPattern:[NSArrayarrayWithObjects:[NSNumbernumberWithInt:length], [NSNumbernumberWithInt:spacing], nil]];

????CGMutablePathRef path = CGPathCreateMutable();

????CGPathMoveToPoint(path, NULL, 0, 0);

????CGPathAddLineToPoint(path, NULL, CGRectGetWidth(dashedLine.frame), 0);

????[shapeLayer setPath:path];

????CGPathRelease(path);

????[dashedLine.layer addSublayer:shapeLayer];

????returndashedLine;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碉克,隨后出現(xiàn)的幾起案子漏麦,更是在濱河造成了極大的恐慌,老刑警劉巖测垛,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件食侮,死亡現(xiàn)場離奇詭異锯七,居然都是意外死亡眉尸,警方通過查閱死者的電腦和手機(jī)噪猾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門畏妖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戒劫,“玉大人迅细,你說我怎么就攤上這事茵典⊥嘲ⅲ” “怎么了扶平?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵结澄,是天一觀的道長麻献。 經(jīng)常有香客問我勉吻,道長餐曼,這世上最難降的妖魔是什么鲜漩? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任踩娘,我火速辦了婚禮养渴,結(jié)果婚禮上理卑,老公的妹妹穿的比我還像新娘蔽氨。我一直安慰自己鹉究,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布妈嘹。 她就那樣靜靜地躺著绍妨,像睡著了一般他去。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尔苦,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天允坚,我揣著相機(jī)與錄音稠项,去河邊找鬼展运。 笑死拗胜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锈遥。 我是一名探鬼主播所灸,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼爬立,長吁一口氣:“原來是場噩夢啊……” “哼侠驯!你這毒婦竟也來了陵霉?” 一聲冷哼從身側(cè)響起伍绳,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤效床,失蹤者是張志新(化名)和其女友劉穎剩檀,沒想到半個(gè)月后旺芽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡壶辜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年砸民,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岭参。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片演侯。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚌本,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舷嗡,到底是詐尸還是另有隱情,我是刑警寧澤捻脖,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布可婶,位于F島的核電站矛渴,受9級特大地震影響具温,放射性物質(zhì)發(fā)生泄漏铣猩。R本人自食惡果不足惜茴丰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望失仁。 院中可真熱鬧萄焦,春花似錦拂封、人聲如沸冒签。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽走趋。三九已至簿煌,卻和暖如春姨伟,著一層夾襖步出監(jiān)牢的瞬間豆励,已是汗流浹背肆糕。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淮摔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓和橙,卻偏偏與公主長得像魔招,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子办斑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容