oimo’s blog

エンジニア(♀)のブログです

objective-c

strong と weak の違い

property を Outlet で宣言する時には、基本はweakを使いましょう。リークします。 strong と weak の違い よく聞くのが「強い参照」と「弱い参照」なんのこっちゃ!ですかね。これは、強い参照:値を保持する弱い参照:参照カウンタが0になったら破棄する …

UIButtonに枠線をつける

xxx.h@property (strong, nonatomic) IBOutlet UIButton *btn; xxx.m#import <QuartzCore/QuartzCore.h> - (void)initView { [[self.btn layer] setBorderColor:[[UIColor blackColor] CGColor]]; [[self.btn layer] setBorderWidth:2.0]; [[self.btn layer] setCornerRadius:10.0]; [</quartzcore/quartzcore.h>…

NSLogを使うときのメモ

たまに忘れるのでメモ。 NSLog(@"test \n create"); 改行を入れる NSLog(@"\"test\""); ログに「""」を入れる 【%@】NSLog(@"%@",string); stringオブジェクトを表示する NSLog(@"%@", NSStringFromClass([self class])); クラス名を表示する NSLog(@"%@", N…

配列から渡されるimg_urlの文字数でimageViewへの処理を変える

*** cellForRowAtIndexPath *** if ([dic[@"img_url"] length] > 0) { UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:dic[@"img_url"]]]]; cell.imageView.image = image; } こうやるとimg_urlになにもURL…

'*** -[__NSArrayM objectAtIndex:]: index xx beyond bounds [xx .. xx]'

このエラーが出た時は、配列の要素数周りを疑いましょう(๑•́‧̫•̀๑) 例えば、tableViewのセルの出力回数を return 10; とした場合に、 配列の要素数が9個しかない時に発生します。 整合性が取れていない場合に出るエラーです(๑•́‧̫•̀๑)

勉強になった記事 - UIWindow -

UIWindowを使用したUIを作成する方法と注意点 UIWindowを使ってUIを作ろうとした時に読んだ記事。とても勉強になりました。ただ、UIWindowは1画面に1つなのが普通だよなって事でアプリに組み込むのは辞めて、結局UIViewでやりましたとさ。やろうとしたのは…

iOS9からwebViewの実装には3つ選択肢がある

[1] UIWebView iOS2.0~ 馴染み深い、カスタマイズしやすい、遅い、iOS9はクラッシュしやすい[2] WKWebKit iOS8.0~ 高速、スワイプで進む戻るが可能、制約が厳しい[3] SFSafariViewController iOS9.0~ サファリっぽいUI、カスタマイズ不可 or ほぼ不可?、サ…

ButtonやLabelのカスタマイズでよく出てくるけど覚えられないものたち(覚える気がない)

layer.cornerRadius 角丸masksToBounds オブジェクトをマスクする - 隠すclipsToBounds オブジェクトをマスクする - layer.borderWidth 枠線layer.borderColor 枠線の色

UIの位置取得とかサイズとか

ScaleToFit = 縦横非は維持しない、領域いっぱいに表示AspectFit = 縦か横のどちらか短い方に合わせて表示AspectFill = 上の「長い方」バージョン CGRect:位置とサイズを取得CGPoint:位置CGSize:サイズ ◎NSLogCGRect frame = notificationXib.frame;NSLog…

StoryboardのViewControllerからXibを読み込む時

awakeFromNib = IBOutletやIBActionがロードされた後に呼び出す(初期化処理)initWithCoder = IBOutletやIBActionがロードされていないinitWithFrame = Objectを作る時に呼ばれる( code )initWithCoder = Objectを作る時に呼ばれる( IB , Storyboard ) ++++++…

コンパイラディレクティブ

@interface @end これがコンパイラディレクティブ @implementation これもコンパイラディレクティブ

クラス階層を知る

@interface xxxxx : yyyyyy xxxxx : クラス名を書く yyyyy : スーパークラス or サブクラス名を書く yyyyyには「あなたこの家の何代目と結婚したい?」の回答を書く場所。 NSObjectさん (1代目) だったりUIViewControllerさん (3代目) だったりを書ける。 相…

Managerとは?Managerを使うメリットとは?

データを管理するクラスのことです。 下書き中...(๑•́‧̫•̀๑) 実装ベースでお勉強したい方は以下の記事が参考になるかと思われます٩(•౪• ٩) d.hatena.ne.jp gihyo.jp

notificationとデリゲートの使い分け方

notificationとデリゲートの使い分け方と題してますが、 本当はもう1つ「KVO (Key-Value Observing)」と言うものもあります。 が、今回は省きますw では、まずコイツら何者かがわかりますか? そう、コイツらは「情報の運送屋さん」ですw クラス間で情報を…

Subclassって何を選んだら良いの?

素朴な疑問ですよねwxcodeでclassファイルを新規作成する時に「Subclassって何を選んだら良いの?」って感じた事はありませんか? これです↓↓ 初めのうちは良いんです。 なーんに考えずに実装ブログや参考書を見て選択するのでw ここで選択したものが、ヘッ…

objective-c向けのガイドライン

(๑•́‧̫•̀๑)Cocoa向けコーディングガイドライン https://developer.apple.com/jp/documentation/CodingGuidelines.pdfTableViewについて https://developer.apple.com/jp/documentation/TableView_iPhone.pdf