It's wrecking my head at the moment and I can't concentrate. This has happened a few times but last night was the worst. Basically, he gets really upset about something ridiculous and gets really cold towards me, waits for me to apologise (I usually haven't done anything, it's him who picks the arguments) or text him begging him to come round and talk. It's always me who has to make the effort to fix things.
Last night he was explaining something to me involving figures and got the maths wrong. When I pointed it out he got annoyed with me, probably as he was embarrassed I knew better than him when he studies Maths at uni. I made a lighthearted jibe about Media students being cleverer and he got offended, called me a smart arse and said to ******* off and then after that he kept going on about it. He said he was annoyed with himself, not with me, as he should not have made such a silly mistake, and he kept going over and over it in his head. I said to forget about it and tried to distract him but he was obviously thinking about it for the next hour. He didn't text me all day today (he normally texts loads) and when I saw him the the library he was still acting funny. He apologised for last night but it was a half arsed apology. I could see he wanted to say more but he didn't know what to say, or something and I'm tired of always being the one to apologise when I've done nothing wrong. I got up to get my bus home and he let me go without saying anything.
I know this sounds REALLY immature and stupid, but apart from the way he gets annoyed over nothing and blames it on me, my boyfriend is cool. I would normally dump someone for acting like this but when I don't see him I miss him loads. I'm even more unhappy when he's not around, and 95% of the time it's great and we get along really well. What can I do to tell him that the way he acts sometimes is driving me up the wall without it sounding like I hate him?