第一個(gè)swift項(xiàng)目

第一個(gè)swift項(xiàng)目

最近參加比賽昨天剛剛結(jié)束休息一天泡宿舍寫下總結(jié)。來總結(jié)下我的第一個(gè)swift項(xiàng)目,由于之前寫項(xiàng)目都是用的oc,這是第一次寫項(xiàng)目很多swift項(xiàng)目的特性都沒用上(主要就會(huì)一點(diǎn)簡(jiǎn)單的語(yǔ)法) 這次項(xiàng)目總的來說還是很完美的畢竟是第一次用swift些項(xiàng)目,但是也有些許的不足比如說在做一個(gè)界面的時(shí)候想用到iOS9推出的堆棧視圖但是由于時(shí)間的原因沒有用上用了自己計(jì)算的布局勉強(qiáng)應(yīng)付上了但是效果很是不好啊,還有就是之前說的swift的特性,鏈?zhǔn)?面向協(xié)議都是知道的少之又少。接下來的時(shí)間打算好好總結(jié)下項(xiàng)目,繼續(xù)學(xué)習(xí)知識(shí)。

在做項(xiàng)目的過程中隨手記錄的(有些是oc的但是swift差不多):

關(guān)于隱藏tabbar的三種方法:

1.直接隱藏

// 顯示tabBar
self.tabBarController.tabBar.hidden = NO;
// 隱藏tabBar
self.tabBarController.tabBar.hidden = YES;

2.push的時(shí)候設(shè)置隱藏常用的尤其是在Nav和tab結(jié)合使用的時(shí)候

// 在push跳轉(zhuǎn)時(shí)隱藏tabBar
UIViewController *vc2 = [UIViewController new];
vc2.hidesBottomBarWhenPushed = YES;
[vc1 pushViewController:vc2 animated:YES];

3.沒有用過但是感覺很不錯(cuò)的方法

原理:UITabBarController的subview 共有兩個(gè),一個(gè)叫 UITabBar,就是底下的那個(gè) Bar;另一個(gè)叫UITranstionview,就是 Bar 上面的視圖。這兩個(gè) view 下面還有其他的subview,這就不用去管它了。把UITabBar的 y 向下移49個(gè)單位,把UITranstionview 的 hight 加長(zhǎng) 49 個(gè)單位。

- (void)hidesTabBar:(BOOL)hidden{
     
     [UIView beginAnimations:nil context:NULL];
     [UIView setAnimationDuration:0];
     
     for (UIView *view in self.tabBarController.view.subviews) {
         if ([view isKindOfClass:[UITabBar class]]) {
             if (hidden) {
                 [view setFrame:CGRectMake(view.frame.origin.x, [UIScreen mainScreen].bounds.size.height, view.frame.size.width , view.frame.size.height)];
                
             }else{
                 [view setFrame:CGRectMake(view.frame.origin.x, [UIScreen mainScreen].bounds.size.height - 49, view.frame.size.width, view.frame.size.height)];
                 
             }
         }else{
             if([view isKindOfClass:NSClassFromString(@"UITransitionView")]){
                 if (hidden) {
                     [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, [UIScreen mainScreen].bounds.size.height)];
                     
                 }else{
                     [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, [UIScreen mainScreen].bounds.size.height - 49 )];
                    
                 }
             }
         }
     }
     [UIView commitAnimations];
     
 }
 
 
 -(void)makeTabBarHidden:(BOOL)hide { // Custom code to hide TabBar
    if ( [self.tabBarController.view.subviews count] < 2 )
    {
        return;
    }
    UIView *contentView; if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )
    {
        contentView = [self.tabBarController.view.subviews objectAtIndex:1];
    } else {
            contentView = [self.tabBarController.view.subviews objectAtIndex:0];
    }
    if (hide) {
        contentView.frame = self.tabBarController.view.bounds;
    } else {
            contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x, self.tabBarController.view.bounds.origin.y,
                                           self.tabBarController.view.bounds.size.width, self.tabBarController.view.bounds.size.height -
                                           self.tabBarController.tabBar.frame.size.height);
    }
    self.tabBarController.tabBar.hidden = hide;
}


關(guān)于swift的協(xié)議問題

1.聲明除了語(yǔ)法與oc幾乎一樣 而且更加簡(jiǎn)單
2.在聲明上的區(qū)別

//特殊的聲明方式
@objc protocol FirstViewControllerDelegate: NSObjectProtocol{

optional func firstDelegate(returnString:String)

}

在這個(gè)代理的聲明中,可以明顯看出,增加了一些額外的修飾符

1》引入@objc是為了引入 optional(可選),用 optional 修飾代理方法,那么這個(gè)方法就變成可選方法,無(wú)論在代理對(duì)象中是否實(shí)現(xiàn),都不受影響。
2》引入 NSObjectProtocol 是因?yàn)槲覀內(nèi)绻胗?weak 修飾代理屬性,需要繼承自這個(gè)類。

關(guān)于切換根視圖(登陸后切換根視圖)

1.在appdelegate中

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];  
   A *vc = [[A alloc] init]; // init會(huì)執(zhí)行viewDidLoad viewWillAppear   
   vc.view.backgroundColor  = [UIColor redColor];  
   self.window.rootViewController = vc;  
   [self.window makeKeyAndVisible];  

2.在a中 b設(shè)置為根視圖

注意點(diǎn)出來了,如果使用的是presentViewController則在設(shè)置B為根控制器的方法就必須在viewDidLoad與viewWillAppear之后進(jìn)行設(shè)置。不然如下

3.在b中設(shè)置b為根視圖
(建議在控制器已經(jīng)完全在window上展示再切換window的根控制器)

- (void)viewDidAppear:(BOOL)animated {  
    [super viewDidAppear:animated];  
      
          
    AppDelegate *app = [UIApplication sharedApplication].delegate; // 獲取當(dāng)前app單例  
  
    NSLog(@"appdelegate is %@",app);  
      
    UIViewController *vc = app.window.rootViewController;  
      
    app.window.rootViewController = self;  
      
    [vc removeFromParentViewController];  
    NSLog(@"當(dāng)前的根控制器為:%@",self.view.window.rootViewController);  
}  


A.view = nil

對(duì)應(yīng)上面的方法需要將A銷毀減小內(nèi)存的消耗

還有一種方法

方法二:(提供個(gè)基本思路,實(shí)際情況大家研究下了)

可以創(chuàng)建多個(gè)window,在執(zhí)行完成后可以設(shè)置其window為self.window,并讓其成為key window,然后只要想使用的話就只可以將self.window賦值想要展示的window可此時(shí)銷毀剛才的window,然后再將[self.window makeKeyandVisible];

關(guān)于tableView 的cell被遮擋的問題

1.沒有正確設(shè)置tableVIew的高度,高度過高

tableview的高度設(shè)置有錯(cuò)誤,應(yīng)該為self.view.frame.size.hight - self.tabbarController.tabbar.frame.size.height - 64,就可以避免遮擋 

或者

self.automaticallyAdjustsScrollViewInsets = NO 設(shè)置后默認(rèn)tableview 的contentInset = UIEdgeInsetsZero; 否則就是會(huì)減去 導(dǎo)航欄 + 底部tababr 高度,如果要從頭開始布局 ,可以使用self.edgesForExtendedLayout = UIRectEdgeTop; 讓tableview 頂部從 0 。0 開始布局,底部自動(dòng)減去 64 

關(guān)于導(dǎo)航欄的問題

  1. self.navigationController?.setNavigationBarHidden(false, animated: true)
  2. 設(shè)置viewController的title和設(shè)置UItabbarItem的標(biāo)題
 在寫代碼的時(shí)候設(shè)計(jì)的基類修改標(biāo)題欄的方法采用的是self.title = navString 但是在實(shí)際的使用的中發(fā)現(xiàn),我調(diào)用這個(gè)方法的時(shí)候出現(xiàn)了在我底部的TABbar產(chǎn)生了一個(gè)新的item,當(dāng)時(shí)以為我自定義的tabbar出現(xiàn)了問題但是找了一圈沒找到。。。。然后百度下找到了我想要的一切

self.navigationItem.title
= @"my title"; sets navigation bar title.

self.tabBarItem.title
= @"my title"; sets tab bar title.

self.title
= @"my title"; sets both of these.

關(guān)于寫界面的一點(diǎn)提醒

  1. 當(dāng)寫界面的的時(shí)候出現(xiàn)了不符合自己的意圖的樣子,可以進(jìn)行查看分層和設(shè)置背景顏色的方法來進(jìn)行調(diào)試或者可以frameDebuging(真機(jī))

關(guān)于調(diào)用父類方法(調(diào)用自定義tabbar方法)

 let tab = self.navigationController?.tabBarController as! AnimationTabBarController
//        獲取父類的方法
//        print(self.navigationController?.tabBarController?.superclass ?? AnyClass.self)
//        調(diào)用父類的方法
        tab.setSelectIndex(from: 0, to: 2)

關(guān)于hidden隱藏時(shí)的動(dòng)畫

let animation = CATransition()
animation.type = kCATransitionFade
animation.duration = 0.4
view.layer.add(animation, forKey: nil)
view.isHidden = false

關(guān)于swift數(shù)組切片

1.原網(wǎng)址
嘗試了好幾種辦法但是最終都沒有解決,與這個(gè)博客遇到的問題差不多,我遇到的問題是將數(shù)組分成幾個(gè)分別出作為數(shù)據(jù)源(因?yàn)槲覍懙孽磕_的接口弄的不會(huì)分開)
最終的實(shí)現(xiàn)辦法

memberIdStrListToProcess = Array(groupMemberIdStrList[0…9])
要加一個(gè)array然后再接片操作跟Python有些不同。(前面加了Array強(qiáng)轉(zhuǎn))

關(guān)于數(shù)組

1.今天在創(chuàng)建數(shù)組然后從網(wǎng)絡(luò)獲取數(shù)據(jù)并添加到數(shù)組的時(shí)候出現(xiàn)了問題。。。
我是這樣寫的

var recordData = Array<Array<Any>>()
犯了一個(gè)明顯的錯(cuò)誤。。。沒有進(jìn)行初始化這是單單的進(jìn)行了聲明。。因?yàn)閟wift的語(yǔ)法搞得我有點(diǎn)忘記初始化了。。總結(jié)下
數(shù)據(jù)數(shù)組 記得創(chuàng)建是要進(jìn)行初始化(創(chuàng)建類型要: 聲明但是沒有初始化,= ( )這樣是進(jìn)行初始化并聲明 !) 括號(hào)的問題

swift調(diào)用oc的block

1.swift調(diào)用oc的block,遇到這個(gè)問題我有點(diǎn)頭大啊。。。oc的block還沒學(xué)多好呢。。swift更是差勁現(xiàn)在可以好了直接開始混編了,說正題,解決方法swift調(diào)用ocBlock 總結(jié)如下

// oc的block
返回值(^名稱)(類型 傳值)
// swift里調(diào)用
名稱 = {(傳值!!(沒有類型))->(返回值) in 
 
}

2.還有一點(diǎn)之前看的swift調(diào)用不了oc的可選協(xié)議。好像有辦法但是時(shí)間緊迫先放過了。()

oc設(shè)置導(dǎo)航欄文字富文本顯示

設(shè)置富文本將以字典的樣子去設(shè)置
[self.navigationController.navigationBar setTitleTextAttributes:

@{NSFontAttributeName:[UIFont systemFontOfSize:19],

NSForegroundColorAttributeName:[UIColor redColor]}];

將圖片轉(zhuǎn)成base64字符串

let image = UIImage(name:"照片")
//將圖片轉(zhuǎn)成data
let imageData = UIImagePNGRepresentation(image!)
//將data轉(zhuǎn)成base64的字符串
let imageBase64String = imageData?.base64EncodeString()
//可以使用base64的字符串類型上傳到服務(wù)器了
//還要將base64進(jìn)行urlencode的話
let imageString = imageBase64String.addingPercentEncoding(withAllowedCharacters: .alphanumerics)

bas64字符串轉(zhuǎn)成圖片

//將base64的圖片字符串轉(zhuǎn)成Data
let imageData2 = Data(base64Encoded: imageBase64String!)

//將data轉(zhuǎn)成照片
let image2 =UIImage(data:imageData2!)
//將data轉(zhuǎn)成uiimage 
let photo = UIImage(data:image2)

ios11 保存圖片閃退

原文
ios10和ios11 的這個(gè)方面的權(quán)限有些不同查看博客即可

設(shè)置狀態(tài)欄設(shè)置

首先放出幾個(gè)網(wǎng)上寫的不錯(cuò)的博客吧ios 狀態(tài)欄statusBar的背景顏色

//設(shè)置狀態(tài)欄顏色
- (void)setStatusBarBackgroundColor:(UIColor *)color {
    
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
        statusBar.backgroundColor = color;
    }
}

- (void)viewDidLoad {
    [super viewDidLoad];
  
    [self setStatusBarBackgroundColor:[UIColor redColor]];
    self.view.backgroundColor = [UIColor yellowColor];
}

swift實(shí)現(xiàn)的
還有好多但是不服我的情況我就直接刪除了。。。說下我的情況吧 我的程序運(yùn)行在ios11 上是完全ok的 但是運(yùn)行在ios9上狀態(tài)欄莫名的就是黑色的。。。后來發(fā)現(xiàn)是我自定義的導(dǎo)航欄的位置出現(xiàn)了問題 少算了20.。汗顏啊。~

ios 截屏保存相冊(cè)(swift)版

文章寫的很好也有很多的地方可以學(xué)習(xí)

tableView顯示滑動(dòng)條

self.lazyTableView.showsHorizontalScrollIndicator為顯示橫向的滑動(dòng)條(Heng)
self.lazyTableView.showsVerticalScrollIndicator
為顯示縱向的滑動(dòng)條 其實(shí)沒必要去記錄的自己試下就可以啦

ios設(shè)置返回按鈕的樣子自定義(oc版)

ios修改返回按鈕的幾種方式嘗試了下最后一種方式最好用了,之前的方法都是更改了圖片但是標(biāo)題沒有發(fā)生改變,采用第三種方法

//創(chuàng)建一個(gè)UIButton
UIButton *backButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];
//設(shè)置UIButton的圖像
[backButton setImage:[UIImage imageNamed:@"left_select_img.png"] forState:UIControlStateNormal];
//給UIButton綁定一個(gè)方法,在這個(gè)方法中進(jìn)行popViewControllerAnimated
[backButton addTarget:self action:@selector(backItemClick) forControlEvents:UIControlEventTouchUpInside];
//然后通過系統(tǒng)給的自定義BarButtonItem的方法創(chuàng)建BarButtonItem
UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
//覆蓋返回按鍵
self.navigationItem.leftBarButtonItem = backItem;

等間距布局(堆棧視圖)

masonry等間距布局

PHP的數(shù)組

1.首先是數(shù)組支持的類型,PHP的數(shù)組有兩種類型,第一種只保存值的索引數(shù)組,另一種是保存名值對(duì)(name/key)關(guān)聯(lián)數(shù)組(類似其他語(yǔ)言的字典)

Linux導(dǎo)入數(shù)據(jù)庫(kù)

之前有用過但是又忘記了。。在此記錄下吧首先導(dǎo)出所需要的數(shù)據(jù)庫(kù),我用的是Navicat直接右鍵導(dǎo)出就OK了,然后是在服務(wù)器上導(dǎo)入,服務(wù)器為centos導(dǎo)入方法有兩種。第一種方法:

選擇數(shù)據(jù)庫(kù)
mysql>use abc;
設(shè)置數(shù)據(jù)庫(kù)編碼
mysql>set names utf8;
導(dǎo)入數(shù)據(jù)(注意sql文件的路徑)
mysql>source /home/abc/abc.sql;
第二種方法(常用方法)

方法二(常用):

    格式:mysql -u用戶名 -p密碼 數(shù)據(jù)庫(kù)名 < 數(shù)據(jù)庫(kù)名.sql 
    舉例:mysql -uabc_f -p abc < abc.sql

順便記錄下導(dǎo)出的方法:

一、導(dǎo)出數(shù)據(jù)和表結(jié)構(gòu):

格式: mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫(kù)名 > 數(shù)據(jù)庫(kù)名.sql 
舉例: /usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 
敲回車后會(huì)提示輸入密碼

二、只導(dǎo)出表結(jié)構(gòu)

格式:mysqldump -u用戶名 -p密碼 -d 數(shù)據(jù)庫(kù)名 > 數(shù)據(jù)庫(kù)名.sql 
舉例:/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql 
注:/usr/local/mysql/bin/ —> mysql的data目錄

遇到的重大問題

1.自定義tabbar總是出問題 最終是修改一個(gè)屬性解決的
2.方法前面加objc
3.持續(xù)更新 繼續(xù)干找問題記錄下來 學(xué)習(xí) 研究 抽時(shí)間

總結(jié)

1.第一次用些swift些項(xiàng)目,第一次用PHP做了些簡(jiǎn)單的app的接口~總的來說還是很開心的

后記

1.iOS oc方面:kvo屬性監(jiān)聽,通知的寫法,block的用法,了解runtime,wkwebView有很多的知識(shí)點(diǎn)
iOS swift方面: swift閉包知識(shí),wkwebView有很多的知識(shí)點(diǎn),事件的分發(fā)機(jī)制,通知,學(xué)習(xí)rxswift swift 閉包的使用
2.學(xué)習(xí)工具: sketch還有和他配好寫動(dòng)畫的叫。。。
3.學(xué)習(xí)控件堆棧視圖:UIStackView UIStackView Intrinsic Content Size
4.學(xué)習(xí)了解本地?cái)?shù)據(jù)庫(kù) realm charts(畫圖)點(diǎn)的擬合
5.后續(xù)將這些東西的學(xué)習(xí)筆記和demon上傳

總結(jié)下

上面的都是在所項(xiàng)目的時(shí)候記錄的一些東西,接下來的一個(gè)月里面有幾件事情要去忙首先是參加cccc然后是小程序再有就是將這個(gè)項(xiàng)目繼續(xù)完成升級(jí),然后學(xué)習(xí)上面提到的東西。陸續(xù)我要記錄下我學(xué)習(xí)的這些知識(shí)。 好了就這樣了,最后分享下項(xiàng)目吧 GitHub項(xiàng)目地址()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,401評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,011評(píng)論 3 413
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,263評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,543評(píng)論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,323評(píng)論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,874評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,968評(píng)論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,095評(píng)論 0 286
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,605評(píng)論 1 331
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,551評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,720評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,242評(píng)論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,961評(píng)論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,358評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,612評(píng)論 1 280
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,330評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,690評(píng)論 2 370

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

  • 2017年3月,不明真相的我被南子拉入一個(gè)群里,然后開始“100天~每天1小時(shí)做自己”的活動(dòng)。這是第一次沒有作好...
    懶蟲子的美麗人生閱讀 319評(píng)論 0 3
  • 1. 里面還有reset.css文件,重置默認(rèn)樣式 2. 解決窗口縮小時(shí),拖動(dòng)滾動(dòng)條會(huì)出現(xiàn)空白區(qū)域 mi...
    大佬肥1閱讀 186評(píng)論 0 0
  • 當(dāng)一件事情你很清楚當(dāng)下必須要做,而沒有做。然后做了一件當(dāng)下沒有價(jià)值的事情,產(chǎn)生的情緒理解為懊惱。 我有很多...
    劉亞琴閱讀 207評(píng)論 0 0
  • 年輕的時(shí)候,我們都曾以為十年是好長(zhǎng)的一段時(shí)光,我們都曾憧憬自己十年之后的樣子。然而,時(shí)光匆匆,屈指數(shù)來我們聽《十年...
    橙維維閱讀 3,004評(píng)論 0 3