• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 
 
14th Thu

IBOutlet

Object は IBOutlet につないだだけで、retain される。

2011/4/18 再調査

以下のコードでは retain される。

   1  @interface ViewController : UIViewController {
   2  	IBOutlet	id	o;
   3  }
   4  @end
   5  

以下のコードでも retain される。

   1  @interface ViewController : UIViewController {
   2  }
   3  @property	(nonatomic, retain)	IBOutlet	id	o;
   4  

以下のコードでは retain されない。

   1  @interface ViewController : UIViewController {
   2  }
   3  @property	(nonatomic, assign)	IBOutlet	id	o;
   4  

posted by Face Saturn on Thu 14 Oct 2010 at 08:17

モーダルで出ている VC の self.parentViewController は自分を presentModalViewController:animated で出した VC が入っているとは限らない。ヒエラルキーのルートは Window 直下の VC になる。

posted by Face Saturn on Tue 12 Oct 2010 at 02:30

UIScrollView に入れられた ContentView の frame は自動的に UIScrollView の大きさ分増える。 例えば IB で View の大きさを 1000x1000 にして、UIScrollView を一杯で使うとするとナビゲーションバーとタブコントロールありの場合、1320x1367 になる。(横だと1480x1219)

IB で UIScrollView の大きさを大きく指定しておいて、Nibのロード時に縮小されると、そこにタッチイベントが行かなくなるので、UIScrollView は実際に使う大きさ以下に設定するのがよさげ。

posted by Face Saturn on Thu 7 Oct 2010 at 01:09
5th Tue

Code Sign error

iPhone : XCode 3.2.4

Provisioning profile 'XX...XX' can't be found SCM からプロジェクトを持ってきて Device 用にビルドする時に、そのプロジェクトで使っていた Provisioning profile が無いと、このメッセージが出る。

対処方法は

  • Provisioning profile を持ってくる。
  • project.pbxproj を編集して "PROVISIONING_PROFILE[sdk=iphoneos*]" = "XX...XX"; の行を消す

もっと良い手を知りたい今日このごろ。

ちなみに自分が持っているオーガナイザで見れる Provisioning profile は、 ~/Library/MobileDevice/Provisioning Profiles 以下にある。

2010/10/12 加筆

ビルドの設定の コード署名 ID -> Any iOS Device で、一旦 Don't code sign に設定してやれば、"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XX...XX"; の行は消える。そういえばあたりまえのことだった。

posted by Face Saturn on Tue 5 Oct 2010 at 08:44

self.navigationController は、xib で指定したものが入っているとは限らない。 TabBarController で要素が6つ以上あるとき、UIMoreNavigationController のインスタンスが xib で指定したインスタンスを置き換える。

posted by Face Saturn on Mon 4 Oct 2010 at 05:07

iPhone 用XML DOM はKissXML が良さげ。GDataXML はネームスペースの継承に難あり

posted by Face Saturn on Thu 30 Sep 2010 at 04:21

UITextField didOnExit にアクションをつないでやりさえすればキーボードは消える。アクションの中では何もする必要ない。すなわち空のアクションでいい。

posted by Face Saturn on Thu 30 Sep 2010 at 04:20

backBarButtonItemは通常では nil 、title を IB とかで指定するとインスタンスが入る。

posted by Face Saturn on Thu 30 Sep 2010 at 04:20

navigationBar:didPopItem: の中、items, backItem, topItem がちゃんとセットされていない。 RunLoop に帰った後にはちゃんとセットされるので、performSelector:withObject:afterDelay: を使う。

posted by Face Saturn on Thu 30 Sep 2010 at 04:19

GCC で declared with greater visibility ... のワーニングが出たら、 http://gcc.gnu.org/wiki/Visibility を参照

posted by Face Saturn on Thu 30 Sep 2010 at 04:19
Contents
IBOutlet
self.parentViewController
UIScrollView と ContentView
Code Sign error
self.navigationController
iPhone 用XML DOM
UITextField
backBarButtonItem
navigationBar:didPopItem
declared with greater visibility
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ