2012年4月30日月曜日

isKindOfClassとisMemberOfClassってなにが違うねん

ってことで調査したところ継承関係も含めて判定するかどうかのようです。
isKindOfClass:継承関係内に指定クラスが存在すれがYESを返却する
isMemberOfClass:allocしたときのクラス(ちょっと自信ない)が指定クラスならYES
以下検証プログラム

このエントリーをはてなブックマークに追加

2012年4月29日日曜日

is missing from working copyっていう警告がでちゃった

xcodeの警告で
warning: Missing file:/job/hoge/trunk/hoge/Classes/Generic/UI/UICustom/NSCViewVisitor.h is missing from working copy 
こんなのがでて消すのにほんのり苦労しました。
どうやらSVNの警告のようで下記コマンドを実行することで解決しました。 その他:SVN管理されているフォルダーをコピーする際はフォルダー内のSVN情報もコピーされてしまいます。
このエントリーをはてなブックマークに追加

2012年4月20日金曜日

SyntaxHighlighterを使ってるけれどhtmlがうまく表示されない

SyntaxHighlighterを使いはじめた頃から困っていたのですがpreタグ内部で<や&が使えないようですね。
解決方法はpreではなくscriptタグを使えばよいみたいです。
このエントリーをはてなブックマークに追加

UIWebViewでiOSのシステムフォントを使いたいよ

ってことで
まぁheadタグでフォントに「Helvetica Neue」をしていすればよい訳です。
「Helvetica NeueUI」じゃないのか?!って思ったんですけど表示が変わりませんでした。
このエントリーをはてなブックマークに追加

iOSのシステムフォントって実際なんなの?

ってことでしらべてみましたYO
検証結果は「Helvetica NeueUI」でした。
以下検証内容

UIFont *font = [UIFont systemFontOfSize:12];
NSLog(@"font-info:%@", font);
 

font-info: font-family: ".Helvetica NeueUI"; font-weight: normal; font-style: normal; font-size: 12px
 
このエントリーをはてなブックマークに追加

2012年4月11日水曜日

iOSにおけるアプリのライフサイクルのイベントトリガ一覧

iOS5になってアプリのライフサイクルイベント仕様が少し変わっているのでGoogle Docsにまとめました。
が、スプレッドシートじゃなくてアクティビティ図にすればよかったと後悔しています。

このエントリーをはてなブックマークに追加

2012年4月6日金曜日

UITextViewでキャレットの位置を先頭、後尾に移動するパート2

先日作ったキャレット位置を先頭に移動したり、後尾に移動するメソッドがxcodeのAnalyze
でワーニングが出てしまうので作り直しました。


@interface UITextView (extend)
// キャレット位置の設定
typedef enum {
    UICTextViewCaretPositionHead = 0, // 先頭
    UICTextViewCaretPositionTail  // 後尾
}UICTextViewCaretPositionType;
- (void)setCaretPosition:(UICTextViewCaretPositionType)_caretPositionType; 
@end
   
@implementation UITextView (extend)
- (void)setCaretPosition:(UICTextViewCaretPositionType)_caretPositionType
{
 // キャレットを移動する為の選択範囲情報
 NSArray *rangesAtCaretPosition = [NSArray arrayWithObjects:
           [NSValue valueWithRange:(NSRange){0, 0}],      // 先頭
           [NSValue valueWithRange:(NSRange){[self.text length], 0}], // 後尾
          nil
           ];

 // 引数チェック
 if ([rangesAtCaretPosition count] <= _caretPositionType) {
  @throw [NSException exceptionWithName:@"invalid argument error" reason:@"out of range:_caretPositionType" userInfo:nil];
 }

 // キャレットを移動
 NSRange range;
 [[rangesAtCaretPosition objectAtIndex:_caretPositionType] getValue:&range];
 self.selectedRange = range;

}

@end
  
NSValueを使ってNSArrayに保存するように修正しまいた。
このエントリーをはてなブックマークに追加

2012年4月5日木曜日

[NSMutableString stringWithString:nil];で落ちた

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderMutableString initWithString:]: nil argument'
*** First throw call stack:
[NSMutableString stringWithString:_url];
 

メソッドの引数を[NSMutableString stringWithString:url];って実装してたら落ちました。どうやらnil指定だと落ちるようです。
nilの場合は空文字(@"")に置き換えてlogを出力するように修正しました。

if (nil == _url) {
  _url = @"";
  NSLog(@"url is nil");
 }
 
このエントリーをはてなブックマークに追加