#CoreFoundation入門 イントロ
##概要
デバッグ中にCF〜とかコンソールに表示されるが、そもそもCoreFoundationとはなんぞ?というレベルなのでこの機会に調べてみたいと思った。
以下をガイドとしてCoreFoundation の世界に飛び込みたい。
開発を行っている時にマイクへのアクセス許可などの設定を初期化したいときがある。 | |
アプリを削除すればいけそうな感があるが、記憶され続けるので再インストールしても前の情報が残ったまま。 | |
設定→リセット→位置情報とプライバシーのリセット で初期化される。(※個別には削除できない) |
<rect key="frame" x="10" y="20" width="300" height="30"/> | |
↓ | |
<rect key="frame" x="10" y="20" width="300" height="40"/> |
// | |
// NSDate+Appoint.h | |
// | |
// Created by ssato on 2014/10/08. | |
// Copyright (c) 2014年 eplus. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
#pragma mark interface ---- |
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath | |
{ | |
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:_cellIdentifier forIndexPath:indexPath]; | |
// item取得 | |
HogeClass item = self.items[indexPath.row]; | |
// item.urlを使用して画像読み込み | |
[self.thumbnail sd_setImageWithURL:[NSURL URLWithString:item.url] placeholderImage:nil options:0 progress:nil needIndicatorColor:NO completed:nil]; |
#CoreFoundation入門 イントロ
##概要
デバッグ中にCF〜とかコンソールに表示されるが、そもそもCoreFoundationとはなんぞ?というレベルなのでこの機会に調べてみたいと思った。
以下をガイドとしてCoreFoundation の世界に飛び込みたい。
#CoreFoundation入門 CFStrringとその周辺
##概要
入門 イントロのHello,Worldで使用した「CFSTR("Hello, World!")」からCoreFoundationの実装を追っていく。
##CFStringの実装
まずはCFSTRのリファレンスを確認。CFStringRef型ということわかる。
#CoreFoundation入門 Toll-free bridge
##概要 CoreFoundation入門 CFStringとその周辺の続き。
CoreFoundation入門 イントロで説明したFoundationとCoreFoundationの互換性を実現するToll-free bridgeの仕組みを確認していく。
##Tool-free bridgeとは
CocoaのオブジェクトをCoreFoundationから、そしてCoreFoundationのオブジェクトをCocoaから呼ぶ事ができる仕組み。
#CoreFoundation入門 メモリ管理
##概要
CoreFoundationのルートクラス的存在であるCFTypeの中から一番使用するであろう、メモリ管理関連のメソッドを確認。
##リファレンスカウント方式のメモリ管理
CoreFoundationはObjective-Cと同様の生成/保持/解放のリファレンスカウント方式。生成したらオーナーシップを持ち、必要なくなったらオーナーシップを破棄するのが必須なのも一緒。
main.mmに以下を追加 | |
extern "C"{ | |
size_t fwrite$UNIX2003( const void *a, size_t b, size_t c, FILE *d ) | |
{ | |
return fwrite(a, b, c, d); | |
} | |
char* strerror$UNIX2003( int errnum ) | |
{ | |
return strerror(errnum); |
#CoreFoundation入門 基本クラス
##概要
Core Foundationで頻出するドキュメントにて「Derived from CFPropertyList」となっている以下の基本クラスを確認。
CFData, CFString, CFArray, CFDictionary, CFDate, CFNumber(CFBoolean)
※CFNumber、CFDate以外は上記のImutable型に対してそれぞれMutablel型が用意されている。