Objective-C [ObjC part:5];

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
 (Wikipedia:http://ja.wikipedia.org/wiki/Objective-C より)

Objective-C [ObjC part:4];
http://pc12.2ch.net/test/read.cgi/tech/1239721860/

Objective-C [ObjC part:3];
ttp://pc12.2ch.net/test/read.cgi/tech/1186543111/

Objective-C
ttp://pc11.2ch.net/test/read.cgi/tech/1106983092/

Objective-C
ttp://pc5.2ch.net/tech/kako/990/990574267.html
2デフォルトの名無しさん:2010/07/22(木) 01:40:01
*** プログラム技術板 ***
【マック】Macintoshプログラミング質問箱
ttp://pc11.2ch.net/test/read.cgi/tech/1113058054/

Mac OS Xでの開発環境はどれがイイ?
ttp://pc11.2ch.net/test/read.cgi/tech/1163314891/

*** 新・mac板 ***
Cocoaはさっぱり!!! version.15
http://pc11.2ch.net/test/read.cgi/mac/1277992217/

Macでプログラミング{10}
http://pc11.2ch.net/test/read.cgi/mac/1248682344/

Xcode part8
http://pc11.2ch.net/test/read.cgi/mac/1265669504/

iPod touch/iPhone ネイティブアプリ製作 ver.14
http://pc11.2ch.net/test/read.cgi/mac/1275056337/
3デフォルトの名無しさん:2010/07/22(木) 01:41:02
4デフォルトの名無しさん:2010/07/22(木) 01:41:46
ダイナミック Objective-C サイト
http://journal.mycom.co.jp/column/objc/

Apple のランタイムのソースコード (10.5.6)
http://www.opensource.apple.com/darwinsource/10.5.6/objc4-371.2/

英語のサイト
Objective-C 入門

http://cocoadevcentral.com/d/learn_objectivec/
Objective-C Style 1, 2 (変数名のつけかた等)
http://cocoadevcentral.com/articles/000082.php
http://cocoadevcentral.com/articles/000083.php

Mike Ash さん(Audio Hijack の中の人)のブログ、 Obj-C のランタイムの話が良く出る
http://mikeash.com/?page=pyblog/

C++ と Objective-C の文法の比較
http://ktd.club.fr/programmation/objective-c.php
5デフォルトの名無しさん:2010/07/22(木) 04:04:24
>>1


荻原本、BlocksやGCDを追記して改訂版出してくれないかな
6デフォルトの名無しさん:2010/07/23(金) 01:19:42
あげ
7デフォルトの名無しさん:2010/07/23(金) 17:06:37
なんとかBASIC!!!
8デフォルトの名無しさん:2010/07/24(土) 15:09:57
memory管理めんどくせ
9デフォルトの名無しさん:2010/07/24(土) 15:17:23
作法が理解出来ない奴はみなそう言う。
10デフォルトの名無しさん:2010/07/24(土) 16:19:05
memory管理めんどくせって思ってたら、
GCあるからretain/releaseしなくていいよって聞いたのに、
iOSにはGCないんだってさ。

memory管理めんどくせ
11デフォルトの名無しさん:2010/07/25(日) 07:10:53
GCは甘え
12デフォルトの名無しさん:2010/07/25(日) 21:03:48
解説本読んでると、メソッド名と同じ名前の変数名が使ってあって頭がこんがらがります。
こういうのOKなんですかね。
13デフォルトの名無しさん:2010/07/25(日) 21:21:52
>>12
JavaでもOKだね。
14デフォルトの名無しさん:2010/07/25(日) 21:42:44
>>13
そうなんですか。
OKでも使わない方がいいような気がするんですが、慣れたら平気なんでしょうね。
15デフォルトの名無しさん:2010/07/26(月) 19:34:25
retain/releaseでいいじゃんいいじゃん
16デフォルトの名無しさん:2010/07/28(水) 13:02:34
新・mac板から勝手に転載w
----
[SDK]iPhoneアプリ開発初心者質問箱7[touch][iPad]
http://pc11.2ch.net/test/read.cgi/mac/1278433229/


624 名前: 名称未設定 Mail: sage 投稿日: 2010/07/28(水) 00:08:55 ID: B8n5McN10
電子書籍アプリ自分で作ろうかと思ったけど、プログラミング未経験にはキツい!

だれかソースコード売ってください笑
ガチで買いたいです。
詳細はappleandbananaあっとmail.goo.ne.jp

•文字サイズ変更(大中小くらいで可)
•閉じたページ記憶&そっから再開
•ページ間に画像も入れれる
•タップでページスクロールバーがでる
•右側タップで戻る、左側タップで進む
----
17デフォルトの名無しさん:2010/08/05(木) 08:30:02
>>11
オートマ車を認められずに、マニュアル車に固執する臭いオッサンみたいだ
18デフォルトの名無しさん:2010/08/05(木) 09:08:38
オートマ車はブレーキとアクセルの踏み間違い事故が多すぎ
明らかな構造的欠陥に目をつぶって売り続けるのは信じられない
19デフォルトの名無しさん:2010/08/07(土) 03:52:34
iphoneアプリでhttpリクエストで取得したフィードのHTMLから、
特定のクラスのinnerHTML等を簡単に抜き出す方法を教えてくれ。
フィードの投稿一つずつをUITableViewのcellに置き換えたいです。
jqueryのようにできませんかね?webkitを少し調べればできるの?

教えてエロイ人!
20デフォルトの名無しさん:2010/08/07(土) 03:54:32
スレ違い
失せろ
21デフォルトの名無しさん:2010/08/07(土) 03:55:02
age
22デフォルトの名無しさん:2010/08/07(土) 03:57:27
>>20
間違えたの!
23デフォルトの名無しさん:2010/08/07(土) 04:00:33
板違い
24デフォルトの名無しさん:2010/08/07(土) 04:09:09
>>22
おまえマジでうぜえよ
社会のゴミだな
まったく価値が無い
25デフォルトの名無しさん:2010/08/07(土) 08:48:34
新規ファイルでUIVIEW SUBCLASSを作成したいんですが
Cocoa Touch Classの欄内に
UIVIEW SUBCLASSが存在しないので作成できません。
なにかインストールし忘れとかでしょうか?
どなたか教えてください。
26デフォルトの名無しさん:2010/08/07(土) 08:58:15
自分で書け、以上。
27デフォルトの名無しさん:2010/08/08(日) 18:56:49
そもそもある
28デフォルトの名無しさん:2010/08/09(月) 09:06:00
>>27
どのように作成すればよいのでしょうか?
自分の場合cocoa touch classの欄内が↓のようになっている為
uiview subclassが選択出来ません。

http://www.iphonedevcentral.com/wp-content/uploads/2009/08/tutorial015.jpg
29デフォルトの名無しさん:2010/08/09(月) 09:18:22
たのしそうだな・・・何年かしたら、できるようになるんじゃない?
30デフォルトの名無しさん:2010/08/09(月) 11:12:44
MT車の方が楽しい
31デフォルトの名無しさん:2010/08/09(月) 13:10:09
>>28
う〜ん、落ちが分かったような…
MacOSのバージョンとXcodeのバージョンは?
あとCPUの種類も聞いておこうかw
32デフォルトの名無しさん:2010/09/02(木) 14:13:07
@interface Foo : NSObject {
  NSString filePath;
}

-(id)initWithFilePath:(NSString)filePath;

@end

とメンバ変数と同じ名前の引数を渡したいのですが、

@implementation Foo

-(id)initWithFilePath:(NSString)filePath {
  self = [super init];
  if(self != nil){
    filePath = filePath;
  }
}

@end

とするとエラーになります。自身が持つメンバ変数を指定する方法はありませんか?
Javaで言うと、this.filepath = filepath; のような方法を教えてください。
33デフォルトの名無しさん:2010/09/02(木) 14:40:49
>> 32
基本的にはできないと思ったほうが幸せかも。
普通はメンバ変数をアンダースコア付きにするとか、仮引数を変更する。
NSString *_filePath;
- (id) initWithFilePath:(NSString *)path;

self->filePath = filePath; とか、self.filePath = filePath; は、できるけど警告出るし。

それよか、NSString に * がない方が気になるのだが…
34デフォルトの名無しさん:2010/09/02(木) 14:48:59
アンダースコアプレフィックスはAppleに予約されてる
いつか痛い目みるかもしれない

GoogleのObjC規約ではサフィックスにアンダースコア付けることになってる
http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml?showone=Variable_Names#Variable_Names
35デフォルトの名無しさん:2010/09/02(木) 15:24:03
>>33さん
ありがとうございます。
警告が出ると鬱陶しいので、アンダースコアを先頭に付けようと思ったのですが、
>>34さんが書かれているようにAppleが使いますね。
メンバ変数の末尾にアンダースコアを付ける記述を試してみようと思います。

お二人共、ありがとうございました。
(NSString *)になってないのは、単純にミスです。お恥ずかしい…。
36デフォルトの名無しさん:2010/09/02(木) 15:26:46
それの適応範囲はクラス名、メソッド名など。
よく読めば分かると思うけど、インスタンス変数名には適応されてない。
KVC のダイレクトアクセスで "_hoge" が検索対象のトップだしね。

google の規約を持ち出すのはなぜ?
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingIvarsAndTypes.html
37デフォルトの名無しさん:2010/09/02(木) 15:32:53
追記:
サフィックスにアンダースコアをつけると、KVC の検索対象に入らないから勧めない。
38デフォルトの名無しさん:2010/09/02(木) 15:51:19
>インスタンス変数名には適応されてない
されてる
だいたい実際に使われてるんだから普通に考えれば使いたいと思わない

>KVC のダイレクトアクセスで "_hoge" が検索対象のトップ
それこそまさに
Appleが使っているから→フレームワークのコア部分→すこしでも早くしたい
からであって、一般開発者が立ち入る領域ではない

>google の規約を持ち出すのはなぜ?
単に例として挙げた
他にObjCのまとまった規約の存在を知らないし

>KVC の検索対象に入らない
普通にプロパティ立てればいいだけ
39デフォルトの名無しさん:2010/09/02(木) 17:57:08
>>38
> 他にObjCのまとまった規約の存在を知らないし
 Cocoa なら、Appleのコーディングガイドラインをきちんと読むべきだ。その上で、
それでもなお、「適応されている」と主張するなら根拠となる記述を挙げて欲しい。
Appleのインスタンス変数命名規約には"_"の禁止なんて、どこにも書いてない。
お宅様の「普通」とやらはしらんけど、さっき貼った正規のガイドラインすら読まずに
適当なこと書くのは、世間一般でいう「普通」ではないようだね。

 インスタンス変数はクラス毎の名前空間にあるので、クラス間で被っても問題なく
使えるのが当然。例外は継承元のいずれかに同名のインスタンス変数があった場合だが、
これも理由つきでエラーが出るので安全。KVCも対応。これで禁止する理由は何かある?
メソッド名すら「かぶらないことが確実に確認できるなら」という条件付きで、
"_"プレフィックスが正式に認められているのに?

>少しでも早くしたい
速くするのに KVC なんて、メソッドなんて使わねーす。冗談も大概にしてくだせぇw
40デフォルトの名無しさん:2010/09/02(木) 18:16:38
まぁまぁ、そんなにカッカしないで、俺にファイルから1行ずつ読み込む方法を教えてくれよ。
NSFileHandleとNSDataを使ってあとはゴリゴリやるしか方法は無いのかね?
41デフォルトの名無しさん:2010/09/02(木) 18:22:11
NSString -getLineStart: end: contentsEnd: forRange: ?
42デフォルトの名無しさん:2010/09/02(木) 18:24:10
>>41
それこそ正に、NSData からゴリゴリやるの一例だろ。
43デフォルトの名無しさん:2010/09/02(木) 18:54:17
>>39
A prefix has a prescribed format. It consists of two or three uppercase
letters and does not use underscores or “sub prefixes.”


>メソッド名すら「かぶらないことが確実に確認できるなら」という条件付きで、
>"_"プレフィックスが正式に認められている

Don’t use the underscore character as a prefix for your private methods.
Apple reserves this convention.


>速くするのに KVC なんて、メソッドなんて使わねーす

あなたがあなたのコードの中でどうするかなんて問題にしてないです
フレームワークへのアクセスを言ってるんです


なんかドキュメントに書いてることと真反対のこと言い出すとか、触っちゃいけないタイプの人に触っちゃったようだ
みなさんごめんなさい、もう終わりにします
44デフォルトの名無しさん:2010/09/02(木) 18:56:54
一行づつ読み込むのにゴリゴリじゃない方法って、、、一行づつ読む時点でゴリゴリだろう
45デフォルトの名無しさん:2010/09/02(木) 19:49:36
>>43
>39の意味が分からないようですね。ガイドラインを、正確に、読みましょうね。
あなたの挙げたものはインスタンス変数の規約ではありません。
インスタンス変数についての規約には、次のように書いてあります。

@public は避けろ。データの格納の仕方より、interface に気を使え。
@private と @protected をうまく使え。
名前は的確に。
アクセスできる変数にはアクセサつけろ。

以上。これらから「インスタンス変数名に"_"を使うな」とは読めませんね。
46デフォルトの名無しさん:2010/09/03(金) 09:22:55
>>44
一気に取得する方法があるのかい+?
47デフォルトの名無しさん:2010/09/03(金) 09:35:48
まるごと読み込んでから、componentsSeparatedBy...:
48デフォルトの名無しさん:2010/09/03(金) 10:45:11
自己解決。
NSString stringWithContentsOfFile:encoding:error なんつー便利なメソッドがあるじゃないの。
これで取得して改行コードで区切っていけばオッケーって訳だな。
それがもしかしたら、>>47さんのメソッドなのかもしれない。
試してみるよ、ありがとう!
49デフォルトの名無しさん:2010/09/03(金) 13:41:38
>>48
自己解決って、、、質問の直後 >>41 で真っ先に回答が出てるじゃないか。
改行コードで区切ったりすんなよ。
50デフォルトの名無しさん:2010/09/03(金) 13:57:45
>>49
それこそ正に、NSData からゴリゴリやるの一例だろ。
51デフォルトの名無しさん:2010/09/03(金) 16:14:15
巨大なファイルを扱うから NSFileHandle で部分的に読む込もうとしてるのかと思ったら、それ以前の問題だったらしい。
52デフォルトの名無しさん:2010/09/03(金) 20:13:30
ファイルの中身がそのまま見えるイメージで良いならmmap()するのが一番簡単
メモリ中に置かれてるのと同じ処理で良いし、巨大なファイルでも仮想記憶システムが
面倒見てくれるので無駄なコピーも発生しない。
53デフォルトの名無しさん:2010/09/08(水) 19:11:09
>>45
ガイドラインには、「インスタンス名の頭に_を使うな」とは書いてないかもしれません。
しかし、スーパークラスとサブクラスで同じ名前のインスタンス変数を宣言することはできません。(コンパイルエラーになります)
そして、Cocoaのクラスのインスタンス変数名は全て_から始まっています。
なので、実質的に「インスタンス変数名の頭に_は使えない」となります。
逆に言うと、インスタンス変数名の頭に_を使わなければ、Appleとの競合を確実に避けられるということです。
54デフォルトの名無しさん:2010/09/08(水) 20:03:54
>>53
まだやるんですかぁ・・・書いてないんだから、使ってもいいでしょうに。
>スーパークラスとサブクラスで同じ名前のインスタンス変数を宣(ry
安全にコンパイルエラーになるなら、変数名変えればいいだけ。>39で言及済みです。

>そして、Cocoaのクラスのインスタンス変数名は全て_から始まっています。
誠に残念ですが、isa は "_isa" ではない。よって "_" が無くてもダブる可能性がある。

反論終わり。勝手にガイドラインを拡大して、それを広めないでくださいな。
あなたのスタイルを批判しているのではない。
不正確な情報を、さも正しいかのように言うのを批判しているのみ。
55デフォルトの名無しさん:2010/09/08(水) 20:18:33
そもそも>>39が嘘ばっかりやん
56デフォルトの名無しさん:2010/09/08(水) 21:01:18
具体的にどこでしょう?ぜひ改めさせていただきたいので、ご指摘願います。
タイポ ○適用 ×適応
メソッド名の "_" は誤解を招いたかもしれませんが、ガイドラインにある "BF_..." の例。
「名前空間」が同じく誤解を招くかもですが、継承を含めた ivar[] のことです。
57デフォルトの名無しさん:2010/09/08(水) 22:34:40
AT車の便利さと比較してる奴は馬鹿か?
AT車MT車は一般人が使うものだろ。
一般人が使うものなら楽であればあるほどいい。
しかしおまえらはプログラマという専門家だろ?楽に走ってどうすんだ。
楽な言語で楽に書いて細かい原理は知りませ〜ん、じゃあ専門家とは言えんぞ。
58デフォルトの名無しさん:2010/09/08(水) 23:37:13
昔はObjective-Cは専門家しか使わなかったけど
iPhogeが出て来てここ数年でがらっと風向きが変わった
59デフォルトの名無しさん:2010/09/09(木) 00:14:15
楽な言語で楽に書いて詳細も知ってます、
だろ普通は

60デフォルトの名無しさん:2010/09/09(木) 12:41:33
Javaで書きたいiPhoneアプリ
61デフォルトの名無しさん:2010/09/09(木) 13:33:23
Javaだけはないわ
62デフォルトの名無しさん:2010/09/09(木) 18:38:59
ヌルポ
63デフォルトの名無しさん:2010/09/11(土) 03:42:44
すいません何故こうなるか教えてください。

ヘッダで宣言したインスタンス変数に、実装で型を指定せずにallocしようとしたら、その変数は分からないと言われました。

反対に、ヘッダで宣言したNSArray*変数を実装でも型を使用しようとしたら名前ダブってると言われます。

同じように感じるその二つに、二通りの結果があるのは何故でしょう?
64デフォルトの名無しさん:2010/09/11(土) 09:13:28
>>62
ガッ!!
65デフォルトの名無しさん:2010/09/11(土) 09:49:23
>>63 ソース書いてみて
66デフォルトの名無しさん:2010/09/11(土) 10:30:02
>>65
ありがとう。今外出しているので晩に書かせていただきます。
67デフォルトの名無しさん:2010/09/11(土) 11:28:34
>60
そういや2008年頃に、SunがiPhone用のJava VMを作成するとかいうのが
ニュースにあったような気がするけど、どうなったのかな?
68デフォルトの名無しさん:2010/09/11(土) 17:54:12
>>67
Jobsが禁止した。
69デフォルトの名無しさん:2010/09/11(土) 18:20:33
新しい規約だと各々がJAVA VMを内包するという力技ならOK
かな?
70デフォルトの名無しさん:2010/09/11(土) 18:59:57
>>69
え、できるようになったのは確定事項? もしそうなら嬉しい
Java VMじゃないけど、SchemeのSECDマシンが動けばいいのにと妄想してた
71デフォルトの名無しさん:2010/09/11(土) 21:43:51
>>70
外から見えるVMは改定でもダメ。
72デフォルトの名無しさん:2010/09/11(土) 22:18:43
>>71
iPhoneアプリケーションに、Obj-Cで書いたSECDエンジンと
SECDコード(=Schemeソースをコンパイルしたオブジェクト)を内蔵させる、
という考え方なんだけど、それでもダメ?
ユーザからは、普通のiPhoneアプリにしか見えないはずなんだ。
SECDエンジンなら(Java VMよりも)単純だから、
自分で作ってみようかと妄想してたんだけど....
73デフォルトの名無しさん:2010/09/11(土) 22:51:02
昔々の事じゃ、Cocoa-JavaというJavaからCocoaフレームワーク呼ぶ物がMac用にあってのう。
Objective-Cになれた開発者にはえらい不評だったそうな。
74デフォルトの名無しさん:2010/09/11(土) 23:01:44
自分は結局Cocoa-Javaは使わずじまいだったが、
Javaは(少なくとも当時のJavaは)静的な言語だったから、
Objective-Cデベロッパからすれば、
柔軟性の無い堅苦しいものに見えたのだろね
75デフォルトの名無しさん:2010/09/11(土) 23:04:24
Obj-C習得者がいちいち Cocoa-Java に手を出すことあるかね?
自分はまったく触らなかったから、特に思うことはないな。
76デフォルトの名無しさん:2010/09/12(日) 09:17:58
Javaを使う意味の一つに、マルチプラットフォームって言うのがあるけど、Macだけで動かすつもりならJavaを使う必要なんてないだろうね
77デフォルトの名無しさん:2010/09/12(日) 10:03:20
Objective-Cのような欠陥言語は使いたくもない。
78デフォルトの名無しさん:2010/09/12(日) 13:07:02
>>77
コード書くほうに欠陥があるのでは? 裸のCで書いても問題ないわけだし。
79デフォルトの名無しさん:2010/09/13(月) 00:46:50
>>72
新しい規約なら問題ない筈。面白そう。
80デフォルトの名無しさん:2010/09/13(月) 09:12:35
>>77
どういった部分に欠陥があるのかkwsk
81デフォルトの名無しさん:2010/09/13(月) 14:58:20
ひじょーに個人的な思いを横レスすると、Dictionary のような多用する物が重くて
stl を併用しなきゃならない辺りがオタ心をくすぐって嬉しいよな。
82デフォルトの名無しさん:2010/09/23(木) 12:54:25
TableViewに複数のセクションがあり、各セクションごとにセルを追加/削除できる
プログラムがあれば教えて頂きたいのですが、
よろしくお願いします。
83デフォルトの名無しさん:2010/09/23(木) 13:46:26
NSTableView?UITableView?
84デフォルトの名無しさん:2010/09/23(木) 14:39:09
>>83
UITableViewです。
お手数おかけしますがよろしくお願いします。
85デフォルトの名無しさん:2010/09/23(木) 17:08:38
@encode ディレクティブでとれる const char * から、ビットフィールドを含む
構造体のサイズを計算したいのですが何かよい関数ご存知ありませんか?
NSGetSizeAndAlignment はビットフィールドを処理できないようで、SIGABRT が
でます。ビットフィールド無しだと計算してくれるのですが…
 また、10.3.* ~ 10.5.* の gcc_os に objc_sizeof_type() というのを見つけたのですが、
bit field のエンコード形式がどうも実際(10.5SDK)とは違っていました。
 これは修正して自分で組むしか無いでしょうか?
86デフォルトの名無しさん:2010/09/23(木) 18:35:39
>>82>>84
自分で調べる気、やる気まったく無しw
書いておけば適当に解答返ってくるだろって雰囲気丸出し。
87デフォルトの名無しさん:2010/09/23(木) 18:38:55
>>85
なんか難しいことをしようとしてる様に見えるけど、大元の目的が何なのかを書けば
誰か別の方法を教えてくれるかも。

struct st1 {char flag : 1;};
struct st2 {int flag : 1;};
@encodeの文字列は両方b1だけど、sizeofしたら1と4だよね。
だから@encodeの文字列からはできないんじゃ?
88デフォルトの名無しさん:2010/09/23(木) 19:22:06
>>87
レスどうもです。具体的には自前のデータ領域付きのArrayを作りたいと思ってまして。
CFArray + 領域、みたいな感じで、構造体に応じてデータ領域を確保できればなーと。
@encode の情報だけで何とかならないかなと思っていたのです。ご指摘の問題を見ると
確かに難しそうですね。やりたかった事は sizeof(type) 渡せば解決するんです。

ですが、NSGetSizeAndAlignment がビットフラグで SIGABRT だすのを知ったので、
じゃあどうやって NSValue なんかは処理しているのかな?と調べていたのです。
で、objc_sizeof_type() にたどり着いた訳ですがどうも違う。
 手がかりがなくなったので、ご存知の方がいるかもしれないと書き込んだ次第です。
89デフォルトの名無しさん:2010/09/23(木) 19:44:22
>>84
んじゃUITableView Class Reference見て
Table View Programming Guide for iOSよっく読んでから
Related sample codeの中から好みに合うの探してw
90デフォルトの名無しさん:2010/09/23(木) 20:01:04
>>88
NSValueにビットフィールドありの構造体を渡したらnullが返らない?
9188:2010/09/23(木) 20:28:59
>>90
げ!確かに null が返ってきますね。
何でも入るもんだと思い込んでいました、お恥ずかしい。
てことは、やはり@encode情報からはsizeはとれないと思った方が良さそうですね。
いろいろとご指摘、ありがとうございます。
92デフォルトの名無しさん:2010/09/27(月) 02:54:14
教えてください。
ビューを編集する様な処理をして、次の行に進んだところでブレークポイントを入れて見ると、
まだビューがその編集に反映してなくて、そのクラスの処理が終った時点でやっと反映されるのですが、
それを編集直後に反映させるにはどうしたら良いでしょうか。
93デフォルトの名無しさん:2010/09/27(月) 05:45:27
エスパーすると -setNeedsDisplay: or -display やれ
94デフォルトの名無しさん:2010/09/27(月) 09:41:32
相互に定義しあうprotocolってうまい書き方ないでしょうか。
@protocol protocolA
- (void) setTarget:(id <protocolB>)obj;
@end

@protocol protocolB
- (void) setTarget:(id <protocolA>)obj;
@end

当然ですが、コンパイルが通りません。

classの場合、@class hoge、とか書いておくと双方向での参照を
難なく定義出来ると思いますが、protocolの場合はどうすればよい
でしょう。
95デフォルトの名無しさん:2010/09/27(月) 09:47:43
@protocol protocolB;
@protocol protocolA
- (void) setTarget:(id <protocolB>)obj;
@end

@protocol protocolA;
@protocol protocolB
- (void) setTarget:(id <protocolA>)obj;
@end
9694:2010/09/27(月) 09:56:35
ばっちり通りました。ありがとうございました。

@protocol ESProtocolServer;
@protocol ESProtocolClient;

@protocol ESProtocolServer <NSObject>
- (int) idleTime;
- (oneway void) shutdownServer;
- (oneway void) setClient:(id <ESProtocolClient>)client;
- (BOOL) receiveReq:(NSDictionary *)msg type:(int)type index:(int)index;
@end

@protocol ESProtocolClient <NSObject>
- (oneway void) setServer:(id <ESProtocolServer>)server;
- (BOOL) receiveReply:(NSDictionary *)msg type:(int)type index:(int)index;
@end

9792:2010/09/28(火) 12:19:46
>>93
ありがとうございます。

しかし、mainViewControllerにUIViewのインスタンスを合成して、
[self setNeedsDisplay]
を表示させたいタイミングに入れましたが、
そうしていない時と同じように、スレッドが終了するまで描画されません。

何か根本的に勘違いしてますでしょうか私は、、。
98デフォルトの名無しさん:2010/09/28(火) 12:34:03
UIKitの処理は指示してすぐに全部その場でやってるとは限らないよ
たぶんスレッドを長い間止めないための最適化だと思うけど
メソッド呼んでもRunLoopに処理を登録するだけで、実際に処理されるのは
イベントループが一回以上回った後なんてのはたくさんある
99デフォルトの名無しさん:2010/09/28(火) 12:40:34
というかsetNeedsなら当然の結果だろ。
10092:2010/09/28(火) 22:11:13
>>98
ありがとうございます。

UIViewは基本好きな時に再描画出来ない様ですね。
別スレッドに描画メソッドを入れて、
[self performSelectorOnMainThread:@selector(メインスレッド名) withObject:nil waitUntilDone:TRUE];
でメインループを呼びましたら、描画スレッドはそのままスレッドから抜けてくれて、その際に再描画してくれました。
そのメソッドが何ものかハッキリ分かりませんが、支障が出ない事を祈ります。
10192:2010/09/28(火) 22:13:19
上のですが、普通にメインループを呼んだだけだと、描画スレッドが処理が戻ってくるまで終わってくれなくて再描画してくれませんでした。
102デフォルトの名無しさん:2010/09/29(水) 01:00:37
というかsetNeedsなら当然の結果だろ。
103デフォルトの名無しさん:2010/09/29(水) 21:47:57
Xcodeの静的アナライザでメモリリークが見つかって、当該オブジェクトをメソッドの最後で
releaseするようにしたらアプリが落ちるようになったんだけど、こんなときどうすればいいの?
104デフォルトの名無しさん:2010/09/29(水) 21:54:17
常駐アプリでないなら、些細なリークを気にしない。
105デフォルトの名無しさん:2010/09/29(水) 22:11:41
>>104
THX!
106デフォルトの名無しさん:2010/09/29(水) 22:24:07
>>103
自分に開発は向いてないと悟り、そっとMacBookを閉じる。
107デフォルトの名無しさん:2010/09/29(水) 22:36:08
>>103
http://developer.apple.com/jp/iphone/library/japanese.html
Cocoaメモリ管理プログラミングガイド
Objective-C 2.0 プログラミング言語
が参考になるかと
もし初心者なら入門書を買うほうがいいよ
108デフォルトの名無しさん:2010/09/29(水) 22:38:26
>>106
そしてNintendo DSを開く…

…じゃなくて、なぜアナライザが指摘した理由をマニュアルで調べないと分かんないよ
条件分岐とか絡んでない?
109デフォルトの名無しさん:2010/09/29(水) 23:04:36
静的アナライザって、リークではない部分を誤ってリークだと報告することはないの?
110デフォルトの名無しさん:2010/09/29(水) 23:14:46
あると言えばある
ないと言えばない
111デフォルトの名無しさん:2010/09/30(木) 00:10:47
条件分岐の中でのみアロケートなりリリースなりをしてないか?
112デフォルトの名無しさん:2010/09/30(木) 00:56:41
リリースして落ちるんだったら、別のとこから参照されてるんだろ。
113デフォルトの名無しさん:2010/09/30(木) 23:37:48
iPhoneSDK アプリケーション開発ガイドという参考書を読んで、
なんとなく全体的に理解できた程度の実力です。
objective-cのアプリ開発経験はありません。

現在、ログイン機能を搭載しているWebサイトを、
iPhoneアプリとして動作しようとしています。

こういう風なデザインにしたいという案があり、
imixというiPhoneアプリのUI的な感じで作ろうと思っています。

ログイン情報を保持して、
アプリを起動した時点でログイン状態になる、
っという仕組みが全くわかりません。
ログイン状態の保持はNSMutableDictionaryを使用して、
書き込み読み出しを行うのかなっていうのが、
なんとなく分かっていることです。
しかし、その情報を使用して、
自動的にログインというのが全く分かりません。

どなたかご教授お願いいたします。


また今作成しようとしているiPhoneアプリでは、
一般的にペニオクと呼ばれるシステムに近いアプリです。
クレジットカードを使用しての仮想マネーの購入、
仮想マネーを使ってのオークションへの参加、
こういった機能はiPhoneアプリとして認可されるのでしょうか?

こちらについてもご教授お願いいたします。
114デフォルトの名無しさん:2010/09/30(木) 23:54:44
>>113
スレチ
115デフォルトの名無しさん:2010/10/01(金) 02:13:33
Obj-Cもメジャーになったな。
116デフォルトの名無しさん:2010/10/01(金) 03:45:59
>>113
いろいろな意味で無理。
117デフォルトの名無しさん:2010/10/01(金) 08:38:53
>>115
いろいろな意味で無理。
118デフォルトの名無しさん:2010/10/01(金) 09:25:54
色々な意味で真理(が好き)
119デフォルトの名無しさん:2010/10/01(金) 10:46:05
ま〜たヤクザがペニオクに目を付けたな
120デフォルトの名無しさん:2010/10/01(金) 15:31:07
ペニスオークション?
121デフォルトの名無しさん:2010/10/07(木) 08:17:28
アップデートきてた

Xcode 3.2.4 は Mac OS X 用のデベロッパツールのアップデートリリースです。このリリースは、gdb、Interface Builder、Instruments、llvm-gcc および Clang オプティマイザ、Shark、および Xcode でのバグを解決します。
Mac OS X 10.6.2 Snow Leopard 以降にインストールする必要があります。詳しい手順、既知の問題、およびセキュリティ上の注意事項については、付属のリリースノートを参照してください。
122デフォルトの名無しさん:2010/10/07(木) 23:58:44
ホゲってなんですか?
123デフォルトの名無しさん:2010/10/08(金) 12:09:24
124デフォルトの名無しさん:2010/10/09(土) 01:47:21
>>123
冗談でしょうもっと深い意味があるはず
125デフォルトの名無しさん:2010/10/09(土) 15:41:28
ああ、鮫島事件並みに深い意味があるんだよ
126デフォルトの名無しさん:2010/10/09(土) 17:12:14
基本的な事ですが教えてください。
合成やデリゲートでインスタンスを操作出来るのなら、
ライブラリ設計の段階で何故継承が必要なクラスを作ったのでしょうか?
127デフォルトの名無しさん:2010/10/09(土) 17:21:40
例えばNSViewの描画メソッドで一部に独自の描画を加える場合delegationではどうするの?
originalのdelegateを取得しておいて新しいdelegateを設定、
描画メソッドでoriginalのdelegateに描画させた後、独自の描画を加える?

サブクラス化の方が分かりやすくていいと思うけど?
128デフォルトの名無しさん:2010/10/09(土) 17:33:34
>>127
ありがとうございます。
つまり継承の意義は、メソッドのオーバーライドが出来るか否かにかかっているのですね。
129デフォルトの名無しさん:2010/10/09(土) 18:46:28
>>125
的確だな
130デフォルトの名無しさん:2010/10/11(月) 13:03:04
Webページのダウンロードで行き詰ってしまっため、アドバイスを頂けないでしょうか。
指定したサイトを画像付きで一式ダウンロードして、オンラインで閲覧できるようにしたいと思っています。
#ByLine等と同じ感じです

ここを参考にダウンロード処理を書きました。
http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html#//apple_ref/doc/uid/20001836-BAJEAIEE

取得結果をファイルに保存したのですが、htmlファイルしか保存出来ていません。
画像込みでダウンロードするにはどうしたらよいのでしょうか?
131デフォルトの名無しさん:2010/10/11(月) 13:05:25
>オンラインで閲覧
すいません、"オフライン"の間違いです。。
132デフォルトの名無しさん:2010/10/11(月) 13:19:23
>>130
ダウンロード処理はいいが、HTMLの解析の処理は?
133デフォルトの名無しさん:2010/10/11(月) 13:22:47
あー、というか、HTMLとはどういう構造で、httpでどのような通信のやりとりをするか、
分かってないのでは?プログラミング以前の問題。
134デフォルトの名無しさん:2010/10/11(月) 13:34:36
回答ありがとうございます。

>HTMLの解析の処理は?
解析とは「取得したHTMLからimgタグ等を探して画像を保存&パスもローカルに変更」
ということを指している、と思ってよいでしょうか。
ダウンロードのメソッドを叩いて、これと同じことが出来るのかな、と思っていました。

これを手で書くのは結構つらそうですね。。
IE等で「Webページの完全保存」を実行した場合と同じようなことができるライブラリはないでしょうか。
#WebページをキャッシュするiPhoneアプリは皆さん自作しているのかなぁ。。
135デフォルトの名無しさん:2010/10/11(月) 14:12:52
スレチだっつの
ここは Objective-C"言語" のスレだ
iPhone開発スレあるから探してそっち行けよウゼェ
136デフォルトの名無しさん:2010/10/11(月) 14:57:33
了解です。失礼しました
137デフォルトの名無しさん:2010/10/17(日) 12:28:41
メソッドの第一引数のコロンの前はメソッド名なのに、第二引数以降はコロンの前がラベルになってる。

アンバランスな気がするんだけど、言語デザイン的に理由があるのかね。

コロンを縦に並べたときの見栄えのためだけに、第一引数の前のラベルはなかったことにしたの?
138デフォルトの名無しさん:2010/10/17(日) 14:07:02
全部メソッド名なんだが。
ラベルなんてものはない。
139デフォルトの名無しさん:2010/10/17(日) 14:23:21
だな。
140デフォルトの名無しさん:2010/10/18(月) 10:28:46
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/Articles/chapter_2_section_3.html

ラベルって呼ぶんだよね、実は。
便宜上そう呼んでるだけっぽいけど
141デフォルトの名無しさん:2010/10/18(月) 12:39:04
メソッドをメッセージとか読んだりすることもある。
初めての時は、別物だと思っていた
142デフォルトの名無しさん:2010/10/18(月) 13:23:08
>> 141
厳密には違うので、別物が正しい。
[object hoge]; はobjc_msgSend()でメッセージを送っているだけ。
メッセージを受けたobjectが対応するメソッドを見つけて実行する。
メソッドには個々の実装があるけど、メッセージは共通の実装。
143デフォルトの名無しさん:2010/10/18(月) 14:00:40
>>140
ObjCの専門用語としてラベルって言ってるんじゃなくて
日常英語としてラベルって書いてるんだろうね

ラベルって単語だけ抜き出されるとC言語のgoto文のラベルを先に連想しちゃう
144デフォルトの名無しさん:2010/10/18(月) 14:02:37
>>142
>メッセージは共通の実装。


メッセージとは実装である、と言ってるように見えるけどそれはまた違うような?
145デフォルトの名無しさん:2010/10/18(月) 14:20:39
>>144
では、メッセージは id + SEL + ... とすればいいの?
それともメッセージは概念だから、対応するものを考えない方が良いのかな。
146デフォルトの名無しさん:2010/10/18(月) 15:03:20
メッセージというと、レシーバに対して送られるもの、つまり
メッセージセレクタに加えて引数までひっくるめたものになるんじゃないかな?

もしC++やJavaと比較して、対応するものを考えてるのであれば
あまり考え込まない方がいいかもw
147デフォルトの名無しさん:2010/10/18(月) 15:58:15
>140のリンク先読んだ

メッセージを送信すると
メッセージのメソッド名(=セレクタ)(とレシーバ)から
メソッド実装 が決定される

だそうですね
なのでメソッド名(SEL)がメッセージの属性であることは確実です
が、
「メッセージが実際に呼び出すメソッドは、レシーバによって決まります」
てことなのでレシーバはメッセージにはふくまれないです

引数は不明ですね
148デフォルトの名無しさん:2010/10/18(月) 16:21:07
>>143
おらの本ではキーワードたべ
149デフォルトの名無しさん:2010/10/18(月) 20:53:32
setWidth:10 height:20

なんだか気持ち悪いよ〜

setPos width:10 height:20

だったらすっきりするんだが。
なんで前者みたいな仕様になったの?
150デフォルトの名無しさん:2010/10/18(月) 20:57:06
setPos はまずったな。
setSize にしとくわ。主旨はそこじゃないのでカンニン
151デフォルトの名無しさん:2010/10/18(月) 21:47:36
>>149
setSize(of)width(and)height
setWidth(and)height
152デフォルトの名無しさん:2010/10/18(月) 21:50:31
setWidth:height:
こんなメソッド無いだろ。
153デフォルトの名無しさん:2010/10/18(月) 22:03:29
setSize:(CGSize)sizeとかにしろや潔癖症。
154デフォルトの名無しさん:2010/10/18(月) 23:12:14
>>152
いや、話の流れ的に、>>140のサイトに出てきた例を引き合いに出してるだけ。
155デフォルトの名無しさん:2010/10/24(日) 20:42:22
delegateが絡むと参照カウンタの動きが見えづらくなるのがホントに嫌になる
156デフォルトの名無しさん:2010/10/24(日) 21:01:06
えっ
157デフォルトの名無しさん:2010/10/28(木) 21:33:20
デバッグコンソールにすら何も出力せずに黙って落ちるのってどうにかならないの?
158デフォルトの名無しさん:2010/10/28(木) 21:41:31
所詮中身はCなんだからそんなもんだ
159デフォルトの名無しさん:2010/10/29(金) 18:56:53
>>157
そのパターンは大抵、スタックぶち壊して、リターンするときあり得ない所へすっ飛んでるだけ。
160デフォルトの名無しさん:2010/10/29(金) 21:26:47
>>157
出力するようにプロジェクトの設定変えろよ。
161デフォルトの名無しさん:2010/10/29(金) 22:02:40
>>160
え!そんな設定があるんですか?!
162デフォルトの名無しさん:2010/10/29(金) 22:55:19
環境変数で
NSZombieEnabled=YES
NSDebugEnabled=YES
NSDeallocateZombies=YES
NSHangOnUncaughtException=YES
NSAutoreleaseFreedObjectCheckEnabled=YES
とかを追加すると、コンソールに出てくる内容が変わる。
あとはビルドの設定でDebugモードにしたりとか。
163デフォルトの名無しさん:2010/10/30(土) 10:22:28
デフォでは、ビルド設定Debugモードじゃないの?
164103:2010/11/07(日) 20:32:28
releaseメッセージの送り先のインスタンスのdeallocメソッドの中で、外部オブジェクトへの参照変数をnilにしてなかったのが落ちる原因でした。
こんなもん気づくかw
165デフォルトの名無しさん:2010/11/07(日) 21:15:31
それが原因じゃない方に10^10ジンバブエドル賭ける
166デフォルトの名無しさん:2010/11/09(火) 12:39:29
>>165

やけに安いなぁw
167デフォルトの名無しさん:2010/11/10(水) 17:12:53
NSMutableArrayって永続化できる?
NSArrayにへんかんしなきゃ駄目?
168デフォルトの名無しさん:2010/11/10(水) 17:35:08
>>167
中身が全部永続化できるなら出来るよ
でも、NSArrayで返って来るからmutableCopyしなきゃダメだったと思う
169デフォルトの名無しさん:2010/11/10(水) 18:51:31
>>168
おおお、返りのことまでエスパー回答ありがd!!!!
170デフォルトの名無しさん:2010/11/15(月) 21:44:28
NSEvent が引数の関数を書いたのですが、これはイベントが起きると自動で呼ばれるのでしょうか?
それともaddEventListenerみたいなことをしないといけないのでしょうか?
171デフォルトの名無しさん:2010/11/15(月) 22:05:20
まず関数とメソッドの違い、レスポンダチェーン、NSResponder について学んで下さい。
172デフォルトの名無しさん:2010/11/16(火) 07:05:34
>>171
ありがとうございます。おかげでイベントの取得に成功しました。
一つ質問があるのですが、
ウィンドウにフォーカスがない状態でマウスのイベントを取得することはできますか?
173デフォルトの名無しさん:2010/11/17(水) 11:16:38
#CのConsole.Clear();みたいなコンソールクリアするメソッドある?
標準出力をAIRに渡してるんだが、出力するたびにログが蓄積されて困ってる(´・ω・`)
174173:2010/11/17(水) 12:47:00
自己解決。
printf("Hello World\n");の後にfflush(stdout);しないとバッファに溜まっちゃうんだな・・・。
コンソールクリアする必要はなくなったが、
system("clear");はデバッガコンソールでTERM environment variable not set.とエラーでるが、
ターミナルでは実行出来る感じ。
175デフォルトの名無しさん:2010/11/17(水) 23:09:24
>>172
試してないけど [NSApp currentEvent] はどうか。
176デフォルトの名無しさん:2010/11/24(水) 21:33:33
Windowsで使えるIDE(コード補完があれば十分)って何かない?
※できればCocoaのライブラリも補完できれば理想。
177デフォルトの名無しさん:2010/11/25(木) 15:32:45
ソニー、次世代デバイスの開発環境にAppleのiOSと同じObjective-C採用
ttp://365yen.jp/news/2010/11/36170/

だってお^^;
178デフォルトの名無しさん:2010/11/25(木) 16:50:45
動的結合不可なカスタムObjective-Cとか持ってきそうだなw
179デフォルトの名無しさん:2010/11/25(木) 17:50:56
最近のソニーって後追いばっかりな印象があるな
ObjCを選んだのは…話題性狙いか?
180デフォルトの名無しさん:2010/11/25(木) 17:52:02
卑屈になるなよw
objcの良さが一般にも浸透してきたんだろ。
181デフォルトの名無しさん:2010/11/25(木) 17:53:08
>>178
UIKitとかあるんかねぇ?
182デフォルトの名無しさん:2010/11/25(木) 19:17:04
sonyKit
183デフォルトの名無しさん:2010/11/25(木) 19:42:49
APIが3年で破綻するのかw
184デフォルトの名無しさん:2010/11/26(金) 18:40:35
SONY版Objective-Cでは、ObjectがSonyTimerを継承します。
185デフォルトの名無しさん:2010/11/26(金) 21:42:01
初心者におすすめのObjective-Cの解説本ある?
できればcocoaについても解説がのってるととても嬉しい
186デフォルトの名無しさん:2010/11/26(金) 23:03:05
>>185
>初心者におすすめのObjective-Cの解説本

このスレの3あたり嫁
187デフォルトの名無しさん:2010/11/26(金) 23:03:34
ほんとにObjective-Cの言語だけの解説なら10ページくらいで終わっちゃいそう
ランタイムAPIまで含めても30ページもありゃ終わるんじゃないか
188デフォルトの名無しさん:2010/11/27(土) 05:49:23
>>187
是非書いてみて晒してくれ
189デフォルトの名無しさん:2010/11/27(土) 09:06:04
C/C++の基本的な知識についての説明は他本に譲りますとか
190デフォルトの名無しさん:2010/11/27(土) 14:32:42
C分かるならマイコミとかの記事で十分習得できるけどな。
191デフォルトの名無しさん:2010/11/27(土) 15:43:13
>>187
このスレ残り800近くあるからぜひここで晒してみてくれ
192デフォルトの名無しさん:2010/11/27(土) 17:30:40
ここに貼るのはやめれ
2ch に著作権譲るのはバカバカしい
どっかのロダに貼ってリンクすべし
193デフォルトの名無しさん:2010/11/27(土) 17:44:15
>>181
AppKitはあるね。と、いうかOpenStepにSnapのExtensionを追加した形
既にドキュメントもSDKも(最新は1.2)一応配布されてる。
194デフォルトの名無しさん:2010/11/29(月) 21:26:30
>>187
Apple提供のpdf
Objective-C 2.0 プログラミング言語
が最低限だろうな。
195デフォルトの名無しさん:2010/11/29(月) 21:30:48
Objective-C、Cocoa、Xcode、foundationフレームワーク、これらの用語の関係を教えてください。
初級者本ですら色んな用語が次から次に出てきて理解できません。

XcodeはMacでiPhone開発する時に使う、ツール群のことを指していると考えていいのかな?
しかしそうするとCocoaって何なんですかね。。Cocoa環境とか言われてますが。
そのCocoaとやらの中にFoundationというのがあるらしいのですが、ここら辺までくるともう何がなにやら。
196デフォルトの名無しさん:2010/11/29(月) 21:53:20
>>195
まずは、初心者本を読んで、用語を理解してください
197デフォルトの名無しさん:2010/11/29(月) 23:05:51
>>195
別に覚えなくて良いよ
198デフォルトの名無しさん:2010/11/30(火) 01:00:34
>>195
ま〜ぱのコトテンでも読んでな!
199デフォルトの名無しさん:2010/12/02(木) 01:07:22
>>194
それどこ情報〜?どこ情報よ〜?
200デフォルトの名無しさん:2010/12/02(木) 02:42:30
201デフォルトの名無しさん:2010/12/02(木) 04:41:14
202デフォルトの名無しさん:2010/12/02(木) 16:26:52
アプリ起動時にスクリーンセーバーを無効にして、
終了時に戻すことやりたいんだけど、
どうすればいい?
203デフォルトの名無しさん:2010/12/02(木) 19:16:00
204デフォルトの名無しさん:2010/12/02(木) 22:12:30
で、187は>>201をどう10ページにまとめあげるか楽しみに待っているんだが。
205デフォルトの名無しさん:2010/12/02(木) 23:41:16
4x4のサムネール表示なら収まる
とネタを潰しておこうw
206デフォルトの名無しさん:2010/12/03(金) 00:00:19
NSDataのなかの特定の範囲のバイト列を取り出して、32ビットのint型に
変換したいのですが、どのような方法がありますでしょうか?

subdataWithRange:NSMakeRange(3,4) のようにしてバイト列を取り出して

int32_t datasize;
[data getBytes:&datasize];

こすうれば一応できるのですが、JavaにあるByteBufferのgetIntのような感じで
取得したいと思っています。 そういう方法ってありますか?
207187:2010/12/03(金) 00:21:26
冗談半分のレスにそんな期待されてもなあ
そもそも書くなんて言ってないし

10pは大げさすぎたけどどっちにしても言語の解説だけなら
薄っぺらい本にしかならないしCocoaの解説も含んでないと
成り立たんでしょーっていう >>185 への回りくどいツッコミ
だったんだが誰も気づいていくれなかった
長文スマソ
208デフォルトの名無しさん:2010/12/03(金) 00:26:17
俺は気付いてたよ
209デフォルトの名無しさん:2010/12/03(金) 00:38:14
ヲレもヲレも
210デフォルトの名無しさん:2010/12/03(金) 01:03:26
>> 206
Java全く知らないんだけどgetBytesを見つけといてgetBytes:range: を使わな
いのはなにか画期的な良さがそのgetIntにはあるの?
int32_t intData;
[data getBytes:&intData NSMakeRange(offset, sizeof(int32_t))];
戻り値が直接返ってくるような関数がご希望ならカテゴリでNSDataに追加すれ
ばいいだけだと思うのですが、この手のデータの扱いだとエンディアンが必ず
問題になるのでこのまま表に見えるようにして使うほうが無難そうだし。
211デフォルトの名無しさん:2010/12/03(金) 01:15:43
>> 206
int32_t intData = *((int32_t *)([data bytes] + offset));
Objective-Cっぽくないな。
212デフォルトの名無しさん:2010/12/03(金) 05:51:01
なんでいちいちNSData新規に作る必要があるの?

>>211 に一票追加。
213デフォルトの名無しさん:2010/12/03(金) 11:31:04
>>211
OOPっぽくはないが、Objective-Cっぼい気はする
214デフォルトの名無しさん:2010/12/04(土) 01:55:44
完全未経験からITスクールに1ヶ月半ほど通ってiPhone開発の会社に入社しました。
ITスクールではHTMLとJavaScriptとPHPを勉強しました。
研修も無しに来週から1人で出向することになりました。
土日でObjective-CとiPhone SDKとやらを勉強しておけ、ということらしいです。
出向先は社員数人のベンチャーで全員デザイナーということなので
開発者は自分1人です。
どう考えても詰んでるんですが、この業界はこういうのが普通なのでしょうか。。
2日で出来る限り覚えるとしたらどの本で勉強すればいいでしょうか?
215デフォルトの名無しさん:2010/12/04(土) 02:04:41
>>214
金をケチってObjective-C未経験者を雇うとか、底辺デザ事務所らしい発想だな。
一般的なIT業界はさておき、iPhone界隈では普通ではない。

とりあえず、アップルの日本語に翻訳されたドキュメントを読め。
言語仕様、チュートリアル、UIのガイドライン、MVC、KVCあたりのことは必読。
C言語すら知らなかったら2日じゃムリ。

デザイナー相手ってことなら、Interface Builderの使い方だけ覚えて、
見た目でごまかして、時間稼ぎをしつつ勉強するのがいいと思う。
216デフォルトの名無しさん:2010/12/04(土) 02:08:31
どう考えたって真っ当な会社じゃない。
が、今時未経験者を取るような会社はそんなレベルが多いんだろうね…

とりあえず日本語参考資料。
http://developer.apple.com/jp/devcenter/ios/library/japanese.html

出向先が全員デザイナーって…iOSのデベロッパ契約も結んでないに300ペリカ
217デフォルトの名無しさん:2010/12/04(土) 02:13:55
うわ、すげぃ
手持ちの技能から考えるなら
Obj-CじゃないけどDashcodeいじって
なんかアピール出来るもの作って生き残りをはかるとか
218214:2010/12/04(土) 02:47:04
皆様ありがとうございます。
やはり普通ではないのですね。
C言語も分からないので、一からObjective-Cを勉強ってのは難しそうですね…。
とりあえずアップルの日本語資料を読むことにします。
macを支給してもらえたのが唯一の救いなのかな。土日は寝ずに勉強して誤魔化せる程度にはしておこう。
219デフォルトの名無しさん:2010/12/04(土) 09:23:17
すみません、質問です。
プロパティの宣言で、retainとreadonlyを一緒に宣言するのって
どういう意味があるんでしょうか?
CoreDataのさンプルでこんな宣言がされています。

@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;

retainって、値をセットするときの指定だと思っていたんですが..
220デフォルトの名無しさん:2010/12/04(土) 09:30:03
- (id)retain;
ってご存じ?
221デフォルトの名無しさん:2010/12/04(土) 09:31:32
いや、..存じません。
222デフォルトの名無しさん:2010/12/04(土) 09:49:23
自己解決しました。
223デフォルトの名無しさん:2010/12/04(土) 18:57:08
>>219
すいません。219と違う人だけど、わからないので
説明お願いします。実質retainは機能しないと思うのですが。
224デフォルトの名無しさん:2010/12/04(土) 19:19:41
Google in English で、「retain readonly」でググるとでてくるよ。
225デフォルトの名無しさん:2010/12/04(土) 19:59:18
public では readonly でも、private では readwrite で利用するから?
226デフォルトの名無しさん:2010/12/04(土) 20:42:02
>>224
ttp://stackoverflow.com/questions/1933489/objective-c-2-0-properties-why-both-retain-and-readonly

出て来たわw
見方が分からんが、#10ってやつだと実装はreadwriteになってる。
readonlyは、いつもgetterを書いてたからこういった形式は
初めて見たわ。
227デフォルトの名無しさん:2010/12/04(土) 20:52:28
クラスエクステンションとかで拡張するときのために、
あらかじめ、指定しておくみたいな
228デフォルトの名無しさん:2010/12/05(日) 01:06:35
>>225-226
外に向けてreadonlyにするときは実装側でプロパティが使えなくて
いつも面倒だなあと思ってた。でもこういう方法があったんだね。
これならほぼ全てにプロパティ使えてコードが綺麗になるわ。
とてもためになったよ、ありがとう。
229デフォルトの名無しさん:2010/12/05(日) 21:51:17
うーむ…なんというか、なんか二度手間に見えてしまうなぁ…
個人的には synthesize を無理矢理使っているような感じを受けてしまう。
230デフォルトの名無しさん:2010/12/05(日) 22:12:14
煽りでも何でもないんだけど
Objective-Cが一般的に普及することはあり得ないのかな?
この先もマック開発とかiPhone開発とか限定でしょうか?
231デフォルトの名無しさん:2010/12/05(日) 22:45:29
まず「一般的に普及」を定義してくれ。
232デフォルトの名無しさん:2010/12/05(日) 22:51:16
>>230
ソニーが採用したって噂を聞いたけど、まあ、一般的に普及することは無いだろう。
233デフォルトの名無しさん:2010/12/05(日) 23:25:02
充分普及してると思うが
234デフォルトの名無しさん:2010/12/05(日) 23:35:16
ええそうですね、十分普及してますね。
でも、一般的に普及することは無いでしょうね。
235デフォルトの名無しさん:2010/12/05(日) 23:57:51
つーか普及すればAppleにとっても嬉しいはずなのに、どうしてこんなに閉鎖的なんだろうな。
iPhone SDKだって他のOSにも開放してれば今頃iPhoneはモバイル界のWindowsになっていたはずなんだ。
236デフォルトの名無しさん:2010/12/06(月) 00:12:44
Mac の一台も買えないような開発者に何が出来ると
237デフォルトの名無しさん:2010/12/06(月) 00:39:20
>iPhone SDKだって他のOSにも開放してれば

そんなこと出来る会社ならintelMacがもっと伸びて世界中のPCはMacになってるはず
238デフォルトの名無しさん:2010/12/06(月) 01:23:14
ハードとソフトを自分たちで設計し作っているから、
個々の性能を引き出し、微妙な調整を施し、デザイン
を洗練し、独特のブランドを確立できているんだろが。
239デフォルトの名無しさん:2010/12/06(月) 01:30:18
Macは壊れやすい印象しかないな
240デフォルトの名無しさん:2010/12/06(月) 01:35:32
Macの起動速度は、少なく見積もっても、Windowsの1/2以下。
Windows使いは人生のうち100時間ぐらいをその起動待ちで
ぼーっと費やしている。とってもかわいそう。
241デフォルトの名無しさん:2010/12/06(月) 01:43:18
Macはハッカー御用達ツール。
Googleを初め、世のハッカー企業社員のプレゼンは
その幹部を含め、ほとんどがMacを使っている。
独自の文化と真のUnixと、プロプライエタリの堅牢性と、
オープンソースの柔軟性を絶妙のバランスで見事に融合
させた結晶。それがMac。
Macを知らない人は、人生の1/10くらい損している。
ましてやプログラマを名乗ってはいけない。土方を名乗る
のはまぁ許す。
242デフォルトの名無しさん:2010/12/06(月) 01:53:24
いやいや、Googleは業務用にはUbuntu使ってる社員が多いし、プレゼンはたいてい
WindowsでPowePointだよ。

プロプライエタリの堅牢性なんて言えば聞こえはいいが、実際はオープンソースへのただ乗り。
Darwinの公開だっていやいやだし、WebKitはKHTMLからのフォークだから仕方なく。
Objective-Cコンパイラに至っては、FSFからGPL違反の指摘を受けて、やっと公開したよね。
(まあ当時は、AppleではなくNeXTだったが)

まあ、おれも漢字Talk7の頃からMac使っててNeXTCUBEも持ってたので、好きこのんで
使ってはいるが、企業としては一貫して嫌いだ。
243デフォルトの名無しさん:2010/12/06(月) 01:59:46
昔は囲い込みの方針を曲げずにズルズルと失敗し続けてた印象だけど
最近はiPhoneアプリをXcode+ObjCだけに一度限定して
その後すぐに緩和するとか割と狡猾だよねー
244デフォルトの名無しさん:2010/12/06(月) 02:00:57
>>235
わかんないよ
Windows用Xcodeも準備中かもしれないよ?

まあ手を広げすぎても自分たちの実現したいユーザエクスペリエンスが維持できるかと自問して
出来そうにないからやらないだけなんだろう。まずMSが信用ならんし・・・
245デフォルトの名無しさん:2010/12/06(月) 02:01:15
え?
246デフォルトの名無しさん:2010/12/06(月) 02:05:12
>>242
PowePointは糞。つか名前も聞いたことない。
Keynoteは神。
247デフォルトの名無しさん:2010/12/06(月) 02:10:05
>>242
お前が嫌ってるのはAppleじゃなくてCanonの間違いじゃないのか?
248デフォルトの名無しさん:2010/12/06(月) 02:10:39
>>244
Windows用Xcode?
なぜわざわざ?
なぜわざわざ開発環境を悪化させる必要があるの?
なぜわざわざ情弱大衆に媚びるの?
なぜわざわざ使えないのが分かりきってる土方に提供するの?
イラネwww
249デフォルトの名無しさん:2010/12/06(月) 02:17:06
コマンドがBSDとGNU系で混ざってたりシステムコールが特異なところがあるし
MacPortsがあるから助かっているものの、
インタネット系開発はLinux系のがなにかと楽かなー。
250デフォルトの名無しさん:2010/12/06(月) 02:54:51
一般的にというのはC++くらいあちこちで使われるという意味です
251デフォルトの名無しさん:2010/12/06(月) 03:15:48
きめぇ…これがマカーというやつなのか
252デフォルトの名無しさん:2010/12/06(月) 08:00:36
>>230
ありえねーよ馬鹿。
253デフォルトの名無しさん:2010/12/06(月) 12:30:55
新しく流行するデバイスのアプリ開発がアセンブリ縛りだったとして、
これからはアセンブリが流行りますかってくらいの愚問だな。
254デフォルトの名無しさん:2010/12/06(月) 16:00:05
mutableCopyで返されるオブジェクトは、autoreleaseされていないぞ、気をつけろ。
255デフォルトの名無しさん:2010/12/06(月) 17:35:50
BLOCKSが簡単すぎてワロタ
もうthreadはいらねーな
256デフォルトの名無しさん:2010/12/06(月) 17:39:15
mutableCopyに限らずcopyって単語が含まれるメソッドで返るオブジェクトの
所有権は使う側にある(allocしたのと同じ)
メモリ管理ポリシー読もう
257デフォルトの名無しさん:2010/12/08(水) 17:58:30
Blocksは使用する直前に宣言する派
メッセージの中に含めるのはなかなか馴染めない・・・
258デフォルトの名無しさん:2010/12/09(木) 00:43:55
Cはエッチのことと聞きましたが、
Objectiveとはどんなプレイですか?
259デフォルトの名無しさん:2010/12/09(木) 01:07:13
それぞれの性感帯をカプセル化します
260デフォルトの名無しさん:2010/12/09(木) 10:04:02
RootViewControllerって、プログラムがでかくなると、
適合する、プロトコルの宣言がいっぱいになるよね。
261デフォルトの名無しさん:2010/12/09(木) 10:37:28
そんなに何でもかんでもRootViewに載せようとすることはないな
多くて4つぐらい
262デフォルトの名無しさん:2010/12/09(木) 13:10:40
ぬぁに、俺が今作っている奴、RootViewControllerのプロトコル
の宣言が、既に10越えているんだが…
やりかたがまずいんだろうか…
263デフォルトの名無しさん:2010/12/09(木) 21:09:04
何から何まで同じクラスにデリゲートさせてないか?
データの持ち方が混沌としてるなら一度整理して
役割を分担させてみてはいかがかと。
264デフォルトの名無しさん:2010/12/10(金) 00:26:54
>>258
客観的なセックスだよ。
265デフォルトの名無しさん:2010/12/10(金) 00:42:02
オブジェクト性行
266デフォルトの名無しさん:2010/12/10(金) 00:43:14
>>263
だってよぉ、画像編集アプリなんだけど、ナビゲーションコントローラにしてるから、
まず、UINavigationControllerDelegate そして、ScrollViewの中にタップ可能な
ImageViewを配置しているから、UIScrollViewDelegateとタップ検知を受け取る、
TapDetectingViewDelegate(サンプルからパクった奴) そして、画像選択用の、
UIImagePickerControllerDelegate そして、位置情報を使うから、
CLLocationManagerDelegate それから、警告などでアラートの表示もするから、
UIAlertViewDelegate 処理確認用のアクションシートも表示するから、
UIActionSheetDelegate、それから、メイン画面から呼び出せる画像処理用のボタン
をいくつか配置していて、そこから、他のビューコントローラを呼んだりもするわけだけど、
結局処理する画像は、メインに配置してあるから、各コントローラからの通知を受け取る
ための、〜ControllerDelegate とか、いつのまにか、いっぱいになっちまったわけさ。
処理対象(画像)がメイン画面にあるから、いずれにしても、UIの結果を受け取らないと
いけないわけで、しょうがなくね?何かいいやり方あれば教えてちょ。
267デフォルトの名無しさん:2010/12/10(金) 09:47:45
カスタムViewControllerとかTarget-ActionとかNotificationとかDelegateとか
なんとでもなりそうだけど
268デフォルトの名無しさん:2010/12/10(金) 12:56:37
むりくり分割すれば、できなくはないんだけど、
その分割したモジュールとのやりとりが必要に
なって、面倒くささが先にたっちゃうんだよな。
269デフォルトの名無しさん:2010/12/10(金) 16:29:32
Objective-Cの初心者です。
URLをSafariで開く、というのをメソッドで書くとしたら、
どのようになりますか?
次のように書いたところ、
NSString * string = [@"http://www.google.co.jp/"];
の行で、Expacted '-' before '' Token(小さくて読めない)というエラーが出てます。
''のあいだの文字は「}」ですか?

#import <Cocoa/Cocoa.h>
IBOutlet id inputField;
IBOutlet id outputField;
int main(int argc, char *argv[])
{
NSString * string = [@"http://www.google.co.jp/"];
- (void) startURL:(string) URL;

return NSApplicationMain(argc, (const char **) argv);
}

- (void) startURL:(string) URL
{
NSTask * task = [NSTask new];
[task setLaunchPath: @"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects: @"-c open -a Safari ", URL, nil]];
[task launch];
}
270デフォルトの名無しさん:2010/12/10(金) 16:34:24
URL文字列を括っている[ ] は、いらないんじゃね?
271デフォルトの名無しさん:2010/12/10(金) 17:11:17
NSString * string = @"http://www.google.co.jp/";
としたところ、startURL undeclared
とか、エラーが増えました。
272デフォルトの名無しさん:2010/12/10(金) 17:24:37
ここでは教えられないほどの間違いがあるので、本やセミナーでやってください

少なくとも
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/index.html
これが理解できなければ無理。
273デフォルトの名無しさん:2010/12/10(金) 18:02:01
宣言と実装がごっちゃになってるな。
どういうコピペをしたらこんなソースが出来上がるんだ
274デフォルトの名無しさん:2010/12/10(金) 18:40:55
アルファベット覚えたて人がTOEIC受験しに行くぐらい無茶
最低限の文法理解と語彙が必要
275デフォルトの名無しさん:2010/12/10(金) 18:53:29
これはちょっと、ぶったまげるくらい可笑しいな。
276デフォルトの名無しさん:2010/12/10(金) 20:37:18
デバッガが苦笑するレベル
277デフォルトの名無しさん:2010/12/10(金) 20:38:20
いつもそういわれるんです。
まずはこれを動くようにしてから。

本は5冊(斜め読み)しましたが、
ぜんぜんわからんのです。

おかしく楽しんだんですから、動かしてくださいよ。
お願いします。
278デフォルトの名無しさん:2010/12/10(金) 21:52:55
どんだけ斜め読みしてんだよ
5冊を斜め読みするんじゃなくて、
1冊をじっくり読んでくれ
279デフォルトの名無しさん:2010/12/10(金) 23:39:09
でも初心者のもつ疑問に答えるような本は、ないんです。
具体的には、一連の手順(メソッド?)を呼び出すときのメソッドの書き方(書式)、
それはMainのなかに書くのか外に書くのかとか。
280デフォルトの名無しさん:2010/12/10(金) 23:53:32
> Mainのなかに書く
んなことやってるサンプルコードがあったの? 無いのにどうしてそんなことしようと思ったの?
どこからそんな発想湧いてきたの? ねぇなんで?
281デフォルトの名無しさん:2010/12/11(土) 00:03:06
>>279
まずはやっぱCじゃね?
そこが分かってたら、そのソースみたいな間違いは、そもそもやらないと思う。

>>280は書き方は悪いけど、基本中の基本があんたに欠けてるのは俺も感じるよ。

自分は楽しいココアでxcodeの操作の概要と、ココアフレームワークの使い方は
大体分かるようになった。

そこまでくれば、あとはもう慣れだ。アップルにサンプルコードも沢山あるし。
282デフォルトの名無しさん:2010/12/11(土) 01:21:36
C#でそうだから。
C#暦2年です。

#import <Cocoa/Cocoa.h>
IBOutlet id inputField;
IBOutlet id outputField;
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

NSString * string = [@"http://www.google.co.jp/"];
- (void) startURL:(string) URL;

- (void) startURL:(string) URL
{
NSTask * task = [NSTask new];
[task setLaunchPath: @"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects: @"-c open -a Safari ", URL, nil]];
[task launch];
}

ってこと?
283デフォルトの名無しさん:2010/12/11(土) 06:15:27
>>270の言うことすら既に守られてないじゃん。
他人の言うことに耳を傾けない人なんだね。
284デフォルトの名無しさん:2010/12/11(土) 09:47:48
>>282
メドッドの理由がないんだから、ただの関数で
書いておけよー
285デフォルトの名無しさん:2010/12/11(土) 10:37:01
5冊も斜め読みでこれって凄い才能だな
286デフォルトの名無しさん:2010/12/11(土) 10:59:32
C#ってすごい言語なんだな
OOPLだと思ってたけど違うみたいだし
287デフォルトの名無しさん:2010/12/11(土) 12:17:20
>>279
公式ドキュメントが一番易しく的確に理解に必要最小限のことを解説してる。
アプリケーションチュートリアルの熟読をおすすめする。
市販の本は酷いとこれのほぼコピペで深く説明すべきところをはしょった劣化版だったりする。
ほんの数ページで手取り足取り動くとこまで連れてってくれるだろう。
これ読んでわからなければお前の脳じゃ無理だから諦めろ。
288デフォルトの名無しさん:2010/12/11(土) 13:27:11
>>282
C#やったんなら、classに相当する記述がそのソースに見当たらないことに違和感を覚えない?

まあ、この場合は、>>284

289デフォルトの名無しさん:2010/12/11(土) 14:12:55
>>285
この人の事だから本当に斜めに読んでそう。
290sage:2010/12/11(土) 15:12:41
いや、きっとC#でもまともには...

C#が悪いわけではないと思うw
291デフォルトの名無しさん:2010/12/11(土) 15:28:13
C#はVBと同じような書き方すらできるからなー
元々はVB坊なんじゃね?
292デフォルトの名無しさん:2010/12/11(土) 16:00:57
本のページの左上から右下へ真っ直ぐに斜め読みしてんだろうな。
293デフォルトの名無しさん:2010/12/11(土) 22:49:33
文字列比較でisEqualToString:メソッドとstrcmp()関数のどっちが早いか
下のようにテストしたのですが、isEqualToString:メソッドの方が10倍ぐらい早い結果になりました。
自分的にはstrcmp()の方が早いと予想してたので驚きました。これは普通でしょうか。

NSString *s1 = @"abc";
NSString *s2 = @"ABC";

for (int i = 0; i < 1000; i++) {
 // isEqualToStringメソッドを使った比較
 // BOOL flag = [s1 isEqualToString:s2];
 // strcmp()関数を使った比較
 // BOOL flag = strcmp([s1 UTF8String], [s2 UTF8String]);
}
294デフォルトの名無しさん:2010/12/11(土) 23:05:15
常識で考えて -UTF8String がオーバーヘッドになってるだけ
295デフォルトの名無しさん:2010/12/11(土) 23:37:06
まぁ、最近は常識のない奴が増えたからな
296デフォルトの名無しさん:2010/12/12(日) 00:27:18
Objective-Cのメソッドと関数の違いを知らないので、
ただの関数でどう書くのかよくわからないので、
ただの関数での書き方を教えてください。

メソッドの理由があるかないかを判断するのには、
条件が少ないと思いますが。

Classに相当する記述がないことには違和感がありますが、
そんなことを言い始めたら、ぜんぶに違和感を感じています。
なぜNSとすべてにつける無駄をするのか(ジョブズの趣味)とか。
\を含まないのに@を""の前につける意味は、とか。
*はなんだとか。

-はなんだとか。
nilってなんだよ、へんな略し方するなとか。
ま、それでいまこんな感じです。
297デフォルトの名無しさん:2010/12/12(日) 00:30:51
#import <Cocoa/Cocoa.h>
IBOutlet id inputField;
IBOutlet id outputField;
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

NSString * string = @"http://www.google.co.jp/";
- (void) startURL:(string) URL;

- (void) startURL:(string) URL
{
NSTask * task = [NSTask new];
[task setLaunchPath: @"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects: @"-c open -a Safari ", URL, nil]];
[task launch];
}
298sage:2010/12/12(日) 00:52:10
#include <stdio.h>
#include <stdlib.h>
#include<ctype.h>

#define iskanji(c)\
(0x81 <= (c & 0xff)&&(c & 0xff) <= 0x9f || 0xe0 <= (c & 0xff) && (c & 0xff) <= 0xfc)

main(int ac, char *av)
{
FILE *fp;
++av;
if(av==0){
exit(1);
}

fp=fopen(av,"r");
char c;
while((c=fgetc(fp))!=EOF){
if(iskanji(c)){
fputc(c,stdout);
fputc(fgetc(fp),stdout);
}
else
{
fputc(c,stdout);
}

}
}
segmentation faultになったよ なぜ
299デフォルトの名無しさん:2010/12/12(日) 01:07:05
>>298
>main
int main(int argc, char * argv[], char * env[]);
300デフォルトの名無しさん:2010/12/12(日) 07:53:50
>>296
全部、サイトや本に書いてあるよ
301デフォルトの名無しさん:2010/12/12(日) 11:14:52
地獄のソースコードだな。
霊媒師とかにお祓いしてもらった方が良いレベル。
302デフォルトの名無しさん:2010/12/12(日) 14:15:52
天才チンパンジー「アイちゃん」が Obj-C訓練してるのかと思った。
303デフォルトの名無しさん:2010/12/12(日) 14:31:27
objectivecってどれぐらいでマスターできますか?
C言語は簡単でした。
オブジェクト指向言語は今回が初めてです。
今高@ですが模試の評価でも東大余裕なので頭も悪くないです。
304デフォルトの名無しさん:2010/12/12(日) 14:57:11
>>303
>今高@ですが模試の評価でも東大余裕なので頭も悪くないです。

頭が悪くない人はこんなスレ見つけてる間にささっと始めてる
305デフォルトの名無しさん:2010/12/12(日) 17:48:46
>>304
ちゃんと質問に答えてくださいよ
306デフォルトの名無しさん:2010/12/12(日) 18:14:55
>>303
まあ、まずはこれでも読んどけ。古い本だが、オブジェクト指向の勘をつかむのには悪くない。
http://www.amazon.co.jp/dp/4881356194

その後はこれな。
http://www.amazon.co.jp/dp/4797311126

じゃあな。
307デフォルトの名無しさん:2010/12/12(日) 18:18:33
オブジェクト指向初めてで、Cは分かってて、Objective-Cやりたいんだったら、
オブジェクト指向の学習に特化したSmalltalk本がいいと思う。
結構出てるみたいだし。
308デフォルトの名無しさん:2010/12/12(日) 19:02:10
>>305
おまえなら1ヶ月だな
309デフォルトの名無しさん:2010/12/12(日) 19:49:11
>>307にもあるように、Smalltalk 本に書かれていることがすんなり理解できる柔軟性があれば
Objective-C の Smalltalk 的側面なんかサブセットなので、恐るるに足らずと思っていていいです。
Smalltalk やその考え方自体、小難しく受け取られがちですが、分かってしまえば何と言うことはないので。

中古本が安く手に入る「例題による!!オブジェクト指向分析設計テクニック」http://amzn.to/eoZia2
とかお薦めですが、あいにく処理系が古くてコードを試すことができないので、同じ著者の「Smalltalkで
学ぶオブジェクト指向プログラミングの本質」http://amzn.to/9aDb2f とかざっと読んでみるのはいかがと。
310デフォルトの名無しさん:2010/12/12(日) 19:53:19
オーケーオーケー。
つまりたったこれだけのコードを修正もできず、
問題点を具体的に説明もできない程度にしか力がないんだ、キミタチは。
ぜんぶサイトに書いてあるよって、どこのサイトだよ。
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/index.html
ならよんだけどわかんないぜ。
数ページでいいっていうそのサイトを具体的に頼む。
311デフォルトの名無しさん:2010/12/12(日) 20:55:10
だから言ったじゃん。こんな奴は精神科行くかお祓いしてもらった方が早いんだって。
312デフォルトの名無しさん:2010/12/12(日) 21:20:18
また斜め読みかよ
313デフォルトの名無しさん:2010/12/12(日) 23:04:06
>>310
だいぶ疲れているようだな
まあ珈琲でも飲んでモチツケ
314デフォルトの名無しさん:2010/12/12(日) 23:46:29
>>298
>なぜNSとすべてにつける無駄をするのか
Objective-Cにはネームスペースが無いから一定のまとまりに対するプレフィックスは必要だろ。
ちなみに、NSは今のマックの前身となったNextStepで使われていたときの名残。

>\を含まないのに@を""の前につける意味
@はNSStringのインスタンス生成を簡略化するためのシンタックスシュガー
@をつけないのはC言語の文字列

>*はなんだ
ポインタの宣言や値参照の演算子。乗算の演算子。

>nilってなんだよ、へんな略し方するなとか
nilは略語ではなくて、無を意味する歴とした英単語。
nullとほぼ同義だけど、Objective-Cではインスタンスが割り当てられていないことを示すため
に使われる。
315デフォルトの名無しさん:2010/12/13(月) 04:07:36
>>314
その親切さは、本当に彼にとって親切なのだろうか?
316デフォルトの名無しさん:2010/12/13(月) 08:11:46
逆にそこまで気を使ってやる必要もないだろう。
どうせ、>>296は「名前空間程度も実装できない」とか「yes, noがキモい」とか言うだけさ。
317デフォルトの名無しさん:2010/12/13(月) 10:57:48
>>310
>ならよんだけどわかんないぜ。

あんたコンピュータ業界にゃ向いてないから諦めなって
自分探しの旅にでも出たらどうだ?
できれば薄着で、北の方へ
318デフォルトの名無しさん:2010/12/13(月) 11:29:55
>>310
煽って答えを出して貰おうとしているんだろうけど、それで答えを得てもあなたの知識にはならないよ
あと、書物は読むだけじゃなく理解しないと意味がない
319デフォルトの名無しさん:2010/12/13(月) 17:09:36
【C#, C♯, C#】 MonoMac 【MonoDevelop】
http://hibari.2ch.net/test/read.cgi/mac/1291602001/
320デフォルトの名無しさん:2010/12/15(水) 02:26:36
多重配列の指定セクションのロウを数える用途で以下の定義を書きました。

宣言
- (NSUInteger)countRowDoubleArray:(NSMutableArray*)doubleArray ofSection:(NSUInteger)section;

実装
- (NSUInteger)countRowDoubleArray:doubleArray ofSection:section {

NSMutableArray* row = [doubleArray objectAtIndex:section];

return [row count];

}

しかし、宣言と定義で二重に宣言されているというエラーが。また、関数objectAtIndexの第一引数は、
キャストせずにポインタを整数型に変換しているとエラーが出ます。

しかし他に同じ名のメソッドなど宣言も実装もしておらず(試しに名前を変えても同じエラー)、
objectAtIndexの引数は明らかにNSUInteger型として宣言しています。なぜエラーが出るのでしょうか?
321デフォルトの名無しさん:2010/12/15(水) 02:32:02
ヘッダに書いてるとか。
322デフォルトの名無しさん:2010/12/15(水) 03:34:50
implementationの方のdoubleArrayとsectionの型を省略してるからid型になってる

つかエラーは勝手に解釈せずにそのままコピーしろ
323デフォルトの名無しさん:2010/12/15(水) 10:16:57
>>321
>>322
有難うございます。
implementationで引数に型を宣言した事が今までなかったので驚きました。
何故いる時と要らない時があるのか、、。
エラーの件次に質問させて頂く時はそのままコピーしますすいません。
(確かにid型になってました、、。)
324デフォルトの名無しさん:2010/12/15(水) 13:04:55
>implementationで引数に型を宣言した事が今までなかったので驚きました。
こっちが驚くわ
325デフォルトの名無しさん:2010/12/15(水) 16:00:46
新人類だな。
326デフォルトの名無しさん:2010/12/16(木) 09:49:44
>>58
iPhogeという呼び方があるのか〜
今度から使わせてもらおう
327デフォルトの名無しさん:2010/12/16(木) 14:36:35
isEqualToString を使って文字列の比較をしたいのですがどうやっても上手くいきません。
比較方法は配列に保存してある文字列をobjectAtIndex で呼び出してそれを比較するようにしています。

NSString* seikai
NSString* answer

seikai = [mondai objectAtIndex:1]
answer = [mondai objectAtIndex:2]

if ([seikai isEqualToString:answer])

のような形で比較しています。
328デフォルトの名無しさん:2010/12/16(木) 15:13:25
>>327
中の文字列、書き出してくれないと。
コード自体は問題ない。
NSLog(@"%@,%@",seikai,answer);
でもいれてみたら。
329デフォルトの名無しさん:2010/12/16(木) 16:36:45
セミコロンも使ってないし変数名も間違ってるけど、コンパイル通ってるのかなあ。

seikai = [mondai objectAtIndex:0];
answer = [mondai objectAtIndex:1];
で上手く行きました! とか無いよね
330327:2010/12/16(木) 17:59:37
すいません。詳しく書くと

-(void)StringArray{
NSString *path = [[NSBundle mainBundle] pathForResource:@"mondai" ofType:@"csv"];
NSString *string = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
pMondai = [string componentsSeparatedByString:@"\n"]; //読み込んだ文字列を行ごとに分解して配列に保存
}
ここでcsvファイルを呼び出して

-(void)setPrcString{
srand(time(NULL));
i=rand()%Qnum;

NSString *stringTmp = [pMondai objectAtIndex:i]; //ランダムに行を選択
pBunkai = [stringTmp componentsSeparatedByString:@","]; //行ごとに分解したものを、さらに「,」ごとに分解して配列に保存
pQuestion = [pBunkai objectAtIndex:0];
pAnswer1 = [pBunkai objectAtIndex:1];
pAnswer2 = [pBunkai objectAtIndex:2];
pAnswer3 = [pBunkai objectAtIndex:3];
pAnswer4 = [pBunkai objectAtIndex:4];
seikai = [pBunkai objectAtIndex:5];
}
ここで分解したものを格納

-(void)answerCheck:(NSString*)answer{
if([seikai isEqualToString:answer])
result = 1;
else
result = 2;
}
ここで文字の比較
331デフォルトの名無しさん:2010/12/16(木) 18:12:49
>>328やってみろよ。
332デフォルトの名無しさん:2010/12/16(木) 18:40:03
>>330
seikaiはpBunkaiが保持している
pBunkaiは誰も保持してない
よって-answerCheck:で吹き飛ぶ
333デフォルトの名無しさん:2010/12/16(木) 18:53:33
pMondaiも保持されてない気が...
つか、インスタンスの生成と破棄に無頓着なコードだな。メンテし辛そう...ある意味新種のスパゲッテイだな。
334デフォルトの名無しさん:2010/12/17(金) 15:52:54
キー値監視についてです。オブジェクト(objA)のプロパティを監視してるオブザーバーは何か調べる方法で

NSLog(@"%@", [objA observationInfo]);

のようにobservationInfoメソッドを使うと

<NSKeyValueObservationInfo 0x13eba0> (
<NSKeyValueObservance 0x14d7d0: Observer: 0x14f7e0, Key path: finished, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x11ab00>
)

という感じで出力されますが、このオブザーバーにアクセスするためのポインタはどうやって取得するんでしょう???
335デフォルトの名無しさん:2010/12/17(金) 18:28:38
NSKeyValueObservationInfo をハクってみたけど、どうもできそうにないな。
そういう用途は想定外なんだろ。
ivars = (
  "_retainCountMinusOne",
  "_observances",
  "_cachedHash",
  "_cachedIsShareable",
  "_observables"
);
methods = (
  dealloc,
  retain,
  release,
  description,
  retainCount,
  hash,
  "isEqual:",
  "_initWithObservances:count:"
);
properties = (
);
336デフォルトの名無しさん:2010/12/17(金) 19:12:26
>>335
ありがとうございます!そういう使い方ではないのですね。
うーん。。このobservationInfoメソッド本当に謎すぎです。。
337デフォルトの名無しさん:2010/12/20(月) 17:09:40
もう全部C++で書くは
あばよ
338デフォルトの名無しさん:2010/12/20(月) 20:51:05
たっしゃでのぉ
339デフォルトの名無しさん:2010/12/24(金) 13:38:40
インスタンス変数の値を、他のインスタンスから見るにはどうしたらよいでしょうか?

つまりCならグローバル変数を使う環境設定の様な実装はどうやっているのですか?
340デフォルトの名無しさん:2010/12/24(金) 13:50:45
今風ならproperty
今まで流ならgetterメソッド

荒技は
@interface AClass : NSObject
{
@public
id hoge;
}
@end
------------------
AClass *obj = [AClass new];
id aHoge = obj->hoge; // 構造体へのポインタと同じ。代入も可。ただし運用を誤ると爆発する
341デフォルトの名無しさん:2010/12/24(金) 14:06:56
@publicだったらgetterいらないんじゃねと思ったら
@publicと @property付きのインスタンス変数のアクセスの違いを理解していなかった
勉強しなおしてくる
342デフォルトの名無しさん:2010/12/24(金) 14:18:16
勉強しなおして>>340の言ってる事を理解した
@publicだと -> で参照できるんですね。すいません、勉強になりました。
343デフォルトの名無しさん:2010/12/24(金) 14:35:34
>>339
シングルトン objective-c
で検索。
344デフォルトの名無しさん:2010/12/24(金) 15:13:47
独身ブタ
345デフォルトの名無しさん:2010/12/24(金) 16:58:00
同じクラスの別のインスタンスならアクセス制限関係無しで
obj->hoge;
でアクセスできるお
-isEqual:とかは大抵 -> でやるお
346デフォルトの名無しさん:2010/12/24(金) 17:27:03
ありがとう御座います。
なるほど@publicで参照させて、対象インスタンスは念の為にシングルトンで実装ですか。
シングルトンはどこで使うかわからなかったのですが、
こう言う時に使うのですね。
347デフォルトの名無しさん:2010/12/24(金) 18:30:42
微妙に話がかみ合ってないような気がする

>346
なぜ荊の道を選ぶ
348デフォルトの名無しさん:2010/12/24(金) 19:28:07
ワロタ
349デフォルトの名無しさん:2010/12/24(金) 19:53:06
シングルベルを聞きながら
シングル族が
シングルトンのお勉強ですか
350デフォルトの名無しさん:2010/12/24(金) 20:20:37
あれシングルトン必要ないのかな、、。
351デフォルトの名無しさん:2010/12/24(金) 20:34:34
@protected メリークリスマス


( ´ρ`)

352デフォルトの名無しさん:2010/12/25(土) 00:25:58
> インスタンス変数の値を、他のインスタンスから見るにはどうしたらよいでしょうか?

↑こっちじゃなくて、
↓こっちが本題だったんじゃないのか?

> つまりCならグローバル変数を使う環境設定の様な実装はどうやっているのですか?
353デフォルトの名無しさん:2010/12/25(土) 16:28:08
>>352
、、、。
354デフォルトの名無しさん:2010/12/25(土) 16:31:31
>>353
Zzz...
355デフォルトの名無しさん:2010/12/26(日) 02:14:35
シングルトーン シングルトーン [[鈴 sharedInstance] 鳴る];
356デフォルトの名無しさん:2010/12/26(日) 13:58:32
クリスマスって言葉を見ると殺意が沸くので止めてくれないかな
357デフォルトの名無しさん:2010/12/26(日) 20:43:51
クリスマス
358デフォルトの名無しさん:2010/12/26(日) 23:50:35
クリスマス
359デフォルトの名無しさん:2010/12/27(月) 01:25:42
クリトリス
360デフォルトの名無しさん:2010/12/27(月) 02:18:49
おまえにはがっかりだ
361デフォルトの名無しさん:2010/12/27(月) 05:44:45
早く沸かせよ
362デフォルトの名無しさん:2010/12/27(月) 15:24:09
なんか質問しづらい雰囲気ですがすんません・・・
プライベートなプリミティブ型にアクセサつけるのって間違ってますよね?
363デフォルトの名無しさん:2010/12/27(月) 15:27:25
プライベートなカテゴリで定義すれば良いんじゃないか。
364デフォルトの名無しさん:2010/12/27(月) 15:37:13
あーすいません外から見えるか見えないかの問題ではなくて、参照毎にアクセサのオーバーヘッドが発生するのはプライベートだと無駄じゃない?と思ったもので。
365デフォルトの名無しさん:2010/12/27(月) 16:17:39
生で触ることの危険性とアクセサ経由の柔軟性を秤にかけて自分で決めなさい
366デフォルトの名無しさん:2010/12/27(月) 16:55:34
なるほど、ありがとうございました。
367デフォルトの名無しさん:2010/12/27(月) 17:19:59
いえいえ、どういたしまして。
368デフォルトの名無しさん:2010/12/29(水) 01:00:24
生はリスクが高いから、アクセサつけなきゃね。
369デフォルトの名無しさん:2010/12/29(水) 01:05:32
薄ければ薄いほど良い
370デフォルトの名無しさん:2010/12/29(水) 12:53:55
>>346
読み込み専用だよな?
初期化時に設定ファイルか何か
食わせたら変更しないんじゃないか?

もし、読み書きの必要が有るならシングルトンは止めろ。
シングルトンが許されるのは読み込み専用か書き込み専用だけだ。
でないと、関数の呼び出し先と呼び出し元で
干渉が起こることがある(広域変数最大の問題点)

そもそも広域変数にする必要が有るかもよく考えろ。
値オブジェクトがツリー構造にもなってなく
ただ引き渡すのが面倒なだけだろ。
371デフォルトの名無しさん:2010/12/30(木) 00:16:32
setterがatomicであれば問題ないと思っていたのだけど間違い?
372デフォルトの名無しさん:2010/12/30(木) 03:10:10
>>370
おつきあいありがとうございます。

詳しく言うと、iphoneのブログラミングのnavigationのテンプレートを実行すると
appDelegateからrootViewControllerに飛び、その時テーブルの内容を読み込み
表示すると思うのですが、今回は起動直後のみ、前回終了した時に
didSelectRowAtIndexPathで遷移したviewController
(今回は編集されたテキストビューをアドされたビューコントローラー)
が保存されたファイルを読み込んで、そこにテーブルのリストを表示する前に
viewDidLoadでpushViewControllerで遷移したいのです。

その為にはviewDidLoad上で起動直後かそうでないかを知らなければならないのですが、
appDelegate上でAfterLaunchingというクラスのインスタンス変数である、
ブール型のisAfterLaunchingにYESを入れ、それを読み込む様にすれば、
処理を分岐出来ると思いました。で、遷移が終わればその変数をNOにするというものです。
そして編集が終わり、ファイルから読み込んだ多重配列にそのビューコントローラーを
挿入し、rootViewControllerに戻ると、isAfterLaunchingがNOなので、通常通り
その多重配列を元にテーブルのリストが表示されるという物です。

確かにグローバル変数やRootViewControllerで処理を分岐するのはプログラムが
ややこしくなるのであまりやりたくないのですが、
373372:2010/12/30(木) 03:12:38
すいません途中で送ってしまいました。

確かにグローバル変数やRootViewControllerで処理を分岐するのはプログラムが
ややこしくなるのであまりやりたくないのですが、appDelegeteでwindowに
navigationをアドすると、まずrootViewControllerに飛んでしまうので、
他に方法が見つかりませんでした。

という事でした。
374デフォルトの名無しさん:2011/01/05(水) 17:07:39
NSArray *history = [self.navigationController viewControllers];
NSMutableArray *newHistory = [history mutableCopy];
[newHistory removeLastObject];
[self.navigationController setViewControllers:newHistory animated:YES];

んえこうすると self.navigationController の viewControllers が null なんですけど
まったく理由がわかりません。ボスケテ。
375デフォルトの名無しさん:2011/01/06(木) 15:58:28
一行目で返ってくるのがすでに nil だったりして。
376デフォルトの名無しさん:2011/01/06(木) 16:15:24
array = viewControllerというのが既におかしい。
377デフォルトの名無しさん:2011/01/06(木) 16:47:34
>>376
それはあってる self.navigationController.viewControllers だから

>375
思い切ってself.navigationControllerがすでにnilとか
378デフォルトの名無しさん:2011/01/06(木) 17:20:32
>>375
>>376
>>377

ありがとうございます。
一行目でかえってくるのは普通にはいってるんですよ。
んで、mutableCopy したあとに最後の履歴を抜いてる。
newHistory の中身はちゃんとある。
ただ、セットすると null なんですよね。
setViewControllers:history とするともちろん null にはならんのですが。
履歴の加工ができないってことなんでしょうか。
379デフォルトの名無しさん:2011/01/06(木) 23:19:05
ちなみに、viewControllersがnullであることを、どのようなコードで確認しましたか?
あと、self.navigationController.viewControllers = newHistory; とやっても同じ結果になりますか?
380デフォルトの名無しさん:2011/01/07(金) 15:31:12
>>379
null であることを確認したのは
NSLog(@"%@", [self.navigationController viewControllers]);
こんなコードで確認しました。
self.navigationController.viewControllers = newHistory;
もやってみたんですが、同じ結果です。
381デフォルトの名無しさん:2011/01/08(土) 01:22:43
>>380
その確認ではself.navigationControllerがnullの場合も
考えられる。そしてself.navigationControllerがnullなら
すべてのつじつまが合う。
382デフォルトの名無しさん:2011/01/10(月) 18:07:48
iPhoneアプリ作ってるんですが
テーブルビューの行選択を行った後、アクションシートを開きたいんですが、どうすれば開けますか?
一応ボタン押下後に開くことは出来たんですが、行選択後に開く事ができません
どなたか教えて下さい
383デフォルトの名無しさん:2011/01/10(月) 20:46:47
スレチ
384デフォルトの名無しさん:2011/01/14(金) 19:41:24
iPhoneでHTTPのGETメソッドでHTMLファイルを取得するプログラムを

@ NSURLConnectionのconnectionWithRequestメソッドを使う方法
// 非同期にダウンロードを実行
NSURLConnection * con = [NSURLConnection connectionWithRequest:request delegate:self]

ANSStreamオブジェクトのscheduleInRunLoop:forMode:メソッドを使う方法
// RunLoopに登録する
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
// ストリームをオープン
[inputStream open];
[outputStream open];

の2つを作成しました。
両党ともメインスレッドのランループ上で実行されると思うのですが、
@は問題なく動作するのにAの方は他のイベント処理の邪魔(DL中に画面にタッチすると固まったようになる)をしています。
Aは何が問題なのでしょう???
385デフォルトの名無しさん:2011/01/15(土) 08:39:00
何って、[NSRunLoop currentRunLoop] がイベントを処理するランループと同じなんでしょ?
386デフォルトの名無しさん:2011/01/28(金) 22:36:52
後はラムダ式を実装すればObj-Cに敵はない
387デフォルトの名無しさん:2011/01/29(土) 01:17:34
C+syntax sugarとruntime systemってのがいいのに、そんなんいらんよ。
388デフォルトの名無しさん:2011/01/29(土) 01:50:09
>>386
blocks があるじゃん
389デフォルトの名無しさん:2011/01/29(土) 05:39:46
inputStreamへの読み出し操作が、パケット受信待ちみたいな理由で
ブロックされてるのではないかと思われ
390デフォルトの名無しさん:2011/02/01(火) 05:06:57
教えてください。
文字列を作り、それをファイル入出力しましたが、同じはずの文字列と比べると否と出ます。
何が原因なのでしょうか?

NSString* hoge = @"HOGE";

[NSKeyedArchiver archiveRootObject:hoge toFile:@"FILE"];

hoge = [NSKeyedUnarchiver unarchiveObjectWithFile:@"FILE"];

NSLog(@"文字列HOGEをファイル入出力したもの > %@",hoge);

NSLog(@"それと文字列HOGEを比べた結果 > %d",(hoge == @"HOGE"));

hoge = @"HOGE";

NSLog(@"文字列HOGEを作り直したものと文字列HOGEを比べた結果 > %d",(hoge == @"HOGE"));
391390:2011/02/01(火) 05:08:47
すいません書き忘れました。上のソースの結果はいかのとおりです。

文字列HOGEをファイル入出力したもの > HOGE
それと文字列HOGEを比べた結果 > 0
文字列HOGEを作り直したものと文字列HOGEを比べた結果 > 1
392デフォルトの名無しさん:2011/02/01(火) 05:19:28
ポインタ比べてどうする。
内容比較なら
- (BOOL)isEqualToString; 使え。http://www.oomori.com/cocoafw/Foundation/NSString/isEqualToString.html
あるいは http://www.oomori.com/cocoafw/Foundation/NSString/compare33702.html
393390:2011/02/01(火) 12:19:21
>>392
ああっ、そう言えば前も引っかかった、、、。
ありがとうございました。
394デフォルトの名無しさん:2011/02/02(水) 02:22:40
すいません、教えてください。
画面の何処かをタッチして、指を離さずにズリズリ移動して、
UIButtonの上に来たらイベントを発生させたいのですが、うまくいきません。

どうやったら、できるんでしょうか。
395デフォルトの名無しさん:2011/02/02(水) 12:08:20
スレチ
396デフォルトの名無しさん:2011/02/02(水) 12:40:49
サーバサイドでObjective-C使うことってある?
397デフォルトの名無しさん:2011/02/02(水) 13:55:06
そういえば昔 WebObjects があったな
398デフォルトの名無しさん:2011/02/02(水) 14:10:08
libcgiをObjCでラッピングするとかって話は見たことある
399デフォルトの名無しさん:2011/02/02(水) 14:10:42
WebObjectsってフレームワークで、言語はJavaじゃなかったっけ?
400デフォルトの名無しさん:2011/02/02(水) 14:23:08
NSConnection使えばobjcオブジェクトを直接やり取りできるよ
401デフォルトの名無しさん:2011/02/02(水) 14:32:27
文字列、外部変数にしてstatic
付けてretainまでしても、
イベントループ終わったら解放されてしまうんですが、
残す何か良い方法はないでしょうか。
402デフォルトの名無しさん:2011/02/02(水) 14:46:38
コード上げてみ。どうせお前が release してるんだろ
403デフォルトの名無しさん:2011/02/03(木) 08:41:41
>>396
昔、うちのサーバ(特殊用途)がOPENSTEPだったことがあった。
404デフォルトの名無しさん:2011/02/03(木) 09:45:50
iOS4プログラミングブックって本が人気あるみたいだけど、
これは初心者が手を出しても良い本?
405デフォルトの名無しさん:2011/02/03(木) 10:59:19
>>399
Javaベースになったのは4からだよ

WebObjects3には大変お世話になりました
あれがなければ2000年問題乗り切れなかったよ
406デフォルトの名無しさん:2011/02/03(木) 16:07:39
>>405
そうなんだ。
じゃそれまではObjCだったのかな。その頃からObjCを使ってる人達が今、本を書いたりしてるのかな。
407デフォルトの名無しさん:2011/02/03(木) 16:07:50
>>399
Objective-C で書かれたものが発祥
今のは Java でリプレースされたもの
408デフォルトの名無しさん:2011/02/03(木) 20:23:49
>>404
書いた人がわかってる人向けって言ってる。
409デフォルトの名無しさん:2011/02/04(金) 09:25:24
>>408
ありがとう。じゃあまだ俺には早すぎるな。
410デフォルトの名無しさん:2011/02/05(土) 22:19:56
グローバル変数ってフラッシュにそのまま保存するのどうやってするんでしょうか。
やっぱりインスタン変数にアドレス入れないとダメですか?
411デフォルトの名無しさん:2011/02/05(土) 22:43:56
>>410
こんな質問するやつの作るプログラムなんて危なっかしくて使えないな
412デフォルトの名無しさん:2011/02/06(日) 10:12:07
世の中そんなプログラムで溢れてる
413デフォルトの名無しさん:2011/02/07(月) 00:52:25
main.mで、

test* t = [[[testC alloc] init] autorelease];
NSLog(@"%@",t);


test.mでは、

- (void)init {

if (self = [super init]) {

hoge = @"hoge";

}

というプログラムを書くと、なぜかNSLogの出力に、なぜかtestであるはずのtはNSCFString、
値はhogeとでます。

なぜでしょうか?
414デフォルトの名無しさん:2011/02/07(月) 01:08:23
>>413
testは、実はtestCだからじゃ?
415デフォルトの名無しさん:2011/02/07(月) 01:48:56
-init の返り値が void のわけねえだろ
416デフォルトの名無しさん:2011/02/07(月) 01:52:01
いろいろひどすぎて絶句した
417413:2011/02/07(月) 02:10:23
すいません、、testはtestCで、-initの返り値はidです。
書き込む時になぜか間違えました。。。

もちろんそれらを正しく書いてもtestCはNSCFStringになってしまうのです。
418デフォルトの名無しさん:2011/02/07(月) 03:30:55
@interface も不明なのに何を言えと
419デフォルトの名無しさん:2011/02/07(月) 04:48:41
>>417
質問の段階でそのレベルの間違いをされると、
指摘してほしい「間違い」とコピペの「間違い」を回答側で区別つけるのは不可能だし。

ソースコードのコピペは修正しないこと。目でコピペしないこと。
原因の見当もつけられていない段階で、「この部分だけで十分」と判断しないこと。
420413:2011/02/07(月) 10:01:11
ご迷惑をおかけして申し訳ありません。

試行錯誤した所、initでreturn self;を書くのを忘れていたせいの様です。

何故NSCFStringだったのかはまだ分かりません。
因みに@interfaceでは、インスタンス変数として、
NSString* hoge;
としていただけでした。
何故なのでしょう。

ありがとうございました。
421デフォルトの名無しさん:2011/02/07(月) 10:45:00
…何やらいろいろな意味ですごいなw
422デフォルトの名無しさん:2011/02/07(月) 11:51:17
予想通りだったわ
423デフォルトの名無しさん:2011/02/07(月) 12:12:10
ヤフーか初心者スレできけばいいのにね。
2chの専門系スレは最低限の知識あること前提やん?

タダでなんかするなら理解力と基礎知識は必要よ。
それ怠るんなら、きちんとカネだして講習とか勉強会行くべきだろ
それか上司か先輩にしかられて覚えろ
424デフォルトの名無しさん:2011/02/07(月) 14:53:23
おまいらやさしいな
425デフォルトの名無しさん:2011/02/07(月) 17:56:43
余暇グラマーだとしても、技術屋としちゃどうかと思うが
426デフォルトの名無しさん:2011/02/07(月) 23:09:51
>>424
マカーはスルースキルが極端に低いだけ。
427デフォルトの名無しさん:2011/02/07(月) 23:18:07
スルースキルを使うのはアホにしつこく煽られた時だろ
428デフォルトの名無しさん:2011/02/09(水) 13:40:14
NSIndexSet コピーを、range の二分木(R木?)使ってCで作ってて、一通りの実装を終えた。(CFRangeSet と名付けた)
そこで今は高速化に取り組んでるのだが、
-containsIndex: や -containsIndexesInRange:, -containsIndexes: が NSIndexSet(IMP使用)より最悪で2, 3倍遅い。
(ランダム挿入なら圧倒的に速い、順序挿入でも3, 4倍程度の遅さ。メモリは4倍必要)

木構造のバランスは取れてるのに、何故 range の配列を抱えただけのNSIndexSetより遅いのか疑問だったのだが、
NSIndexSet は検索の際、例えば -containsIndex:(NSUInteger)value において、value の値と集合の最大・最小値、偏差を元に
目的の range の位置を当て推量し、配列の検索の開始地点を変えてるんだな。
通りで、ある程度分布の整った indexSet だと、厳密に走査する CFRangeSet は遅れるわけだ。
実際に indexSet に偏りを与えてテストすると、CFRangeSet のタイムは殆ど一定、むしろ一部速くなるが、
NSIndexSet だと急激にタイムが悪化した。
429デフォルトの名無しさん:2011/02/09(水) 21:10:44
徒労乙
430デフォルトの名無しさん:2011/02/09(水) 23:51:19
ヤッター
431デフォルトの名無しさん:2011/02/19(土) 18:25:40
432デフォルトの名無しさん:2011/02/19(土) 18:27:18
137 名前: デフォルトの名無しさん Mail: sage 投稿日: 2011/02/16(水) 04:53:33
>>124
その記事だと ObjC が遅いって事にしたいみたいだけど、6 秒と 8 秒なら
大した差じゃないだろ。コンパイラのバージョンが違うだけでこれくらいの
揺らぎは発生するもんだぜ。ObjC の速度について言うなら Apple の GCC や
clang でも測定するべきだろうし、ObjC はコードの中に C の関数も混ぜられる
のだから、カリカリにチューニングしたければ、その部分だけ C で実装するのが
当たり前の世界な訳で、色々と話に無理がある様に感じる。

動的束縛が遅いのはまともなプログラマなら常識の話だし、ドキュメントにも
明確に記載されている話なのに、何故か隠されている真実みたいな扱いを
しているのも何なんだろうな。

http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/CodeSpeed/Articles/CriticalCode.html
433デフォルトの名無しさん:2011/02/19(土) 20:26:54.64
むしろ"Javaの方が生産性が高い"根拠が示されてないのが気になった
434objc(笑):2011/02/19(土) 20:32:21.46
>>432
>Objective-C推進者は、速度が大事な部分だけCのように書けば高速だと主張しており、その遅さについては秘密にしたがる。
>チューニング・ポイントは明確ではあるが、場合によってはプログラマ負荷がC++よりも高くなる可能性がある言語だと言える。

>433
ttp://anlyznews.blogspot.com/2010/12/googlejavaappleobjective-c7.html
435デフォルトの名無しさん:2011/02/19(土) 20:35:48.27
まぁ結論ありきの自己満足ブログだからな
436デフォルトの名無しさん:2011/02/19(土) 22:05:56.16
>>431
OSX 10.6 + GCC4.2 + x86_64でやってみたら
 C++ (inline) 10.3秒
 C++ (virtual) 12.5秒
 Objective-C (IMP) 13.5秒
 Objective-C 22.7秒
位だったよ。dynamic dispatchでこの差なら凄く速いと思う。
Objective-Cのdispatcherはキャッシュ使ってるから、複数のメッセージ混ぜると
もっと遅いだろうね。
自分はほとんどC++使ってるけど、Objective-Cのメソッド呼び出し速度が問題に
なる様な書き方は逆に相当難しいでしょ。
437デフォルトの名無しさん:2011/02/19(土) 23:14:42.46
CoreGraphicsを使って10000個位の矩形(塗りつぶした●や■)
をiPhone上で高速にスクロールさせながら描画させる方法って何かないですかね?

フリックやドラッグの時に大きさ変えるので、
オフスクリーンに描くこともできず毎回書き直してます^^;;
が、これだとシミュレータでは問題なく動いても、iPhoneだとスクロールが重たくって

各矩形をCGContextDrawPathでパス作って描いてみたり、
CGContextAddRectで直接描いてみたり、
はたまたCGContextAddRectsにてまとめて描画させてみたりしたけど
あまり描画には変化なし・・・

小手先のテクニックでもいいんで知ってる人いたら教えてください^^;
スレ違いだったら別スレ教えてください^^;
438デフォルトの名無しさん:2011/02/19(土) 23:43:27.37
>>434
だから秘密にしてねえだろ

何で君はそんなブログ記事に影響されてコピペまでしちゃってるの?
439デフォルトの名無しさん:2011/02/20(日) 01:31:48.12
>437
iPod touch/iPhone ネイティブアプリ製作 (新・mac板)
http://hibari.2ch.net/test/read.cgi/mac/1292476397/
でもさすがにそれは難しそう。iOSに倣って綺麗に手抜きすべき部分だと思う
440デフォルトの名無しさん:2011/02/20(日) 03:15:14.43
>>439
どもです〜
スレ移ります^^

やっぱり難しいですかね
1000位に減らしても遅いんですよね^^;

うーん
何かいい方法はないものか・・・
441デフォルトの名無しさん:2011/02/20(日) 04:35:18.87
OpenGL使え。
442デフォルトの名無しさん:2011/02/20(日) 04:38:38.17
俺も OpenGL ES 使えって書こうとしたけど、2D でもそんなに影響があるのかな。
~AddRects 使ってダメなら OpenGL ES でもあんまり変わらなそうな・・・
443デフォルトの名無しさん:2011/02/20(日) 06:17:05.50
>>434
ひでぇブログだな。合理的な反論がある場合、普通、論拠として見なさないんだが。
444デフォルトの名無しさん:2011/02/20(日) 20:43:54.56
>>441
そうしたいのは山々なんですが・・・

>>442
そうなのですか
やっぱり厳しいですかねぇ・・・
ちょっとしたTipsでもいいので何か手はないかと
445objc(笑):2011/02/21(月) 21:17:29.39
>>438
単なる暇つぶしだお。
446デフォルトの名無しさん:2011/02/21(月) 21:23:03.91
OpenGL 面白いと思うんだがな・・・
447デフォルトの名無しさん:2011/02/21(月) 22:08:06.88
ヘタレなんでもうちょっと高レベルなAPIだと…
448デフォルトの名無しさん:2011/02/21(月) 22:23:55.49
言葉は意味明瞭に最後までハッキリと書け。あるいは消えろ。
449デフォルトの名無しさん:2011/02/22(火) 00:58:07.11
ごめんなさい
450デフォルトの名無しさん:2011/02/22(火) 01:02:03.27
あるいは気にすんなよ。
451デフォルトの名無しさん:2011/02/24(木) 10:31:32.02
(A > 0)みたいな式を作るためにNSPredicateがあると思うんですが

NSPredicate *predicate = [NSPredicate predicateWithValue:YES]

のようにpredicateWithValue:で作られたオブジェクトって何のために使われるんでしょう??
常にYESになるオブジェクトって。。??
452428:2011/02/24(木) 22:06:40.16
boost::icl::interval_set<int> よりは1.5~3倍は速かった。ヤッター
453デフォルトの名無しさん:2011/02/28(月) 00:44:59.73
>>452
オメ
454デフォルトの名無しさん:2011/02/28(月) 05:57:44.57
>>434
言語の特性だけで、実際の開発効率に関しては
数値根拠が無さ過ぎる。

JavaとObjective-Cは、対極にあって効率論はあまり意味が無い。
静的なプログラムを書くならJavaの効率がいいだろうが、
Objective-Cの動的特性は、スクラップ&ビルドを何度も繰り返す
プログラムに向いている。
つまり、UIの設計に。
Javaで独自UIが簡単に作れるならいまごろJavaアプリが
氾濫してるよ。
455デフォルトの名無しさん:2011/02/28(月) 10:16:48.51
どうせ、Eclipse <<<<超えられない壁<<<Xcode、ゆえにJavaの方が…って理論でしょ。
456デフォルトの名無しさん:2011/02/28(月) 10:17:38.36
不等号逆っておい
457デフォルトの名無しさん:2011/03/12(土) 16:49:55.23
日付の文字列からNSDateオブジェクトの作成で困っています。

// 変換する日付文字列
NSString *timeString = @"2011-03-12 05:30:11.999888";

// NSDateFormatterのインスタンスを作成
NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init];
// 日付文字列の書式を設定する
[inputDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];
// 日付文字列 → NSDateへ変換
NSLog(@"%@", [inputDateFormatter dateFromString:timeString]);

この結果はnullになります。原因は日付文字列にあるようで

@"2011-03-12 05:30:11.999888" だとnulになり、l
@"2011-03-12 05:30:11.998888" だと正常にNSDateへ変換されます。

これはなぜでしょう???
458デフォルトの名無しさん:2011/03/12(土) 18:43:45.16
ゼロコンマ以下は .9995 未満までしか受け付けないのかな。
459デフォルトの名無しさん:2011/03/12(土) 19:31:06.65
>>458
なるほどー。そういう仕様っぽいですね。
それかバグか。。
460デフォルトの名無しさん:2011/03/13(日) 07:52:25.05
CFDateFormatter のソース見れば分かるかもしれんが、込み入ってて読めん。
461デフォルトの名無しさん:2011/03/13(日) 09:48:58.49
込み入ってなくても読めん
462デフォルトの名無しさん:2011/03/13(日) 09:53:11.79
いやオープンソースだろ
463デフォルトの名無しさん:2011/03/13(日) 10:00:08.50
でソースどこにあんの?
464デフォルトの名無しさん:2011/03/13(日) 10:03:02.30
465デフォルトの名無しさん:2011/03/13(日) 19:00:34.48
そのあたりは ICU 使ってるから、そっちのソース見たほうがいいよ。
ざっと見た感じでは

・小数点以下の部分はミリ秒の精度で内部処理、つまり小数点以下3桁までが有効
・小数点以下が4桁以上の値を与えられた場合、3桁にきりつめる
・この時に小数点以下4桁目を四捨五入するので .9995 以上だと範囲を超えてしまう
→エラー

という流れっぽい
466Perl忍者 ◆M5ZWRnXOj6 :2011/03/14(月) 19:23:03.84
最強ハッカーチームPerlBlack「黒真珠」
http://hibari.2ch.net/test/read.cgi/linux/1300097049/
467デフォルトの名無しさん:2011/03/14(月) 19:34:10.62
エネルギーあまった子供たちが付けそうな名前だな
映画も話題作しか見ないような
468デフォルトの名無しさん:2011/03/14(月) 20:00:11.44
黒真珠つーと、ちんぽに埋め込むもの
469デフォルトの名無しさん:2011/03/14(月) 20:32:18.30
黒真珠なら Black Pearl だろう
大体Perl はスレ違い
470デフォルトの名無しさん:2011/03/16(水) 08:38:49.97
パールレッド!パールブルー!
471デフォルトの名無しさん:2011/03/16(水) 09:11:56.70
そこは金銀パールプレゼントだろ
472デフォルトの名無しさん:2011/03/16(水) 19:20:40.71
質問ですが、親クラスのenumを子クラスで再定義(上書き)、みたいなことってできないんでしょうか。
一つ加えたいんですが。
473デフォルトの名無しさん:2011/03/16(水) 19:26:05.83
クラスのenum? お前はなにを言ってるんだ。

あとこれC or C++ 言語のスーパーセットだから。
474デフォルトの名無しさん:2011/03/26(土) 14:03:57.23
Objective C ってサーバーサイドプログラムって書けないの?
475デフォルトの名無しさん:2011/03/26(土) 14:21:13.84
プログラムは書けるだろ
動くかどうかはサーバーによるだろうけど
476デフォルトの名無しさん:2011/03/26(土) 14:29:41.41
gccにあるから当然使える。
477デフォルトの名無しさん:2011/03/26(土) 15:09:54.78
デフォのWindows ServerにはObj-Cランタイム入ってないと思うよ
478デフォルトの名無しさん:2011/03/26(土) 16:27:08.86
>Windows Server
プギャー
479デフォルトの名無しさん:2011/03/26(土) 18:01:17.69
俺エスパーじゃないから>474だけでサーバのOSを特定できないんだよ
480デフォルトの名無しさん:2011/03/26(土) 18:15:21.07
こんにちは。
最近Objective-Cを勉強し始めた者です。

いろいろなサンプルソースを眺めていると、ときどき
インスタンス名とプロパティ名を変更している書き方を見かけます。
こんな風に。

UIWindow* _window;

@property (…) IBOutlet UIWindow window;

@synthesize window = _window;

上の例の場合、
名前を途中で変える書き方って、どんな利点があるんでしょう?
全部「window」で統一しててもいいように思えるのですが。
皆さんはどうされていますか?
481デフォルトの名無しさん:2011/03/26(土) 18:38:39.04
>480
それはGoogleのObjective-Cスタイルガイドに準じてるんだと思うよ
482デフォルトの名無しさん:2011/03/27(日) 00:14:51.92
>>480
メソッド経由でアクセスしてるのか直接ポインタを触ってるのかが一目瞭然になる
483デフォルトの名無しさん:2011/03/27(日) 02:34:21.28
カテゴリの名前には、コメントていどの意味しかないってまじで?
何の意味があんの?まぁ、大本のクラスとは区別つくけどさ。
484デフォルトの名無しさん:2011/03/27(日) 02:43:55.26
clangのLLVM効果ってどうよ?
メッセージのディスパッチもGCCなんかよりましになってる?
485デフォルトの名無しさん:2011/03/27(日) 03:03:02.21
>>482
それは関係ないだろ
486デフォルトの名無しさん:2011/03/27(日) 12:17:04.81
>>483
言ってる事がよくわからないけど、内部でカテゴリごとにまとめられる

>>484
ディスパッチ部分はランタイムの中だからアプリを何でコンパイルしようがランタイムが一緒なら一緒
nilチェックしないようにする位しかこっちは手が出せないよ
487デフォルトの名無しさん:2011/03/27(日) 12:58:42.03
>>485
それ以外に効果があるのか?

>>480
俺は、windowで書いて必要になったら(自前でgetter,setter書く)
_windowに書き換えることにした。
488デフォルトの名無しさん:2011/03/27(日) 13:32:35.97
>>487
> それ以外に効果があるのか?

そもそも
this.hoge

hoge
が違うのは一目瞭然だろ。
489デフォルトの名無しさん:2011/03/27(日) 14:08:03.60
>>474
サーバー自体を書いてしまったらどうだろう。
490デフォルトの名無しさん:2011/03/27(日) 14:16:13.66
>>488
self だぞ
491デフォルトの名無しさん:2011/03/27(日) 20:35:05.99
>>488
コードを全然書いてないのがバレバレだな。
492デフォルトの名無しさん:2011/03/28(月) 01:47:32.34
>>490-491
どっちにしろ

そもそも
self.hoge

hoge
が違うのは一目瞭然だろ。
493デフォルトの名無しさん:2011/03/28(月) 01:56:06.34
その点については同意する
494デフォルトの名無しさん:2011/03/28(月) 15:27:42.54
>>492-493
ぼくもどういします。
495デフォルトの名無しさん:2011/03/28(月) 15:41:09.58
>>492-493
一目瞭然ですw
496デフォルトの名無しさん:2011/03/29(火) 10:19:37.13
お前さんたちアタマいいな
497デフォルトの名無しさん:2011/03/29(火) 10:53:53.29
ドット記法が使えるのはObjective-C2.0からですからー
498デフォルトの名無しさん:2011/03/29(火) 11:19:51.06
プロパティの話だから2.0であってるだろ
499objc(笑):2011/03/29(火) 21:29:51.40
>>480
そもそもプロパティを使うならインスタンス変数の宣言はいらないのでは?
500デフォルトの名無しさん:2011/03/30(水) 01:00:00.93
そうでもない
501デフォルトの名無しさん:2011/03/30(水) 03:54:46.53
そうでもない
502デフォルトの名無しさん:2011/03/30(水) 06:57:11.31
32bit runtimeと64bit runtimeの違いだったけ?
インスタンス変数の要不要。
503デフォルトの名無しさん:2011/03/30(水) 12:22:34.24
>>502
Mac ではね。iOS だと最初から使えるとおもう。 新しい runtime だから。
504デフォルトの名無しさん:2011/03/30(水) 12:40:49.13
いまはどうなってるか知らないけど、実機なら使えるけどシミュレータでは
使えないって状態だったせいで、iOSではインスタンス変数必須にするのが
クセになってしまったよ
505デフォルトの名無しさん:2011/03/30(水) 13:59:43.13
Debug->Releaseの構成で変わったけど
506デフォルトの名無しさん:2011/03/30(水) 19:29:04.78
>>504
あー、シミュレータだと OS X のランタイム使うからかな? でも Xcode 4 入れた環境で試したらシミュレータでもちゃんとコンパイルできたよ。
507デフォルトの名無しさん:2011/03/30(水) 21:29:47.36
>>506
それは朗報だ
情報ありがとう
508デフォルトの名無しさん:2011/04/02(土) 19:14:40.82
xcode4使い方わかんねー
509デフォルトの名無しさん:2011/04/03(日) 13:55:51.13
>>474
httpdしだいだろ。
510デフォルトの名無しさん:2011/04/03(日) 22:27:23.27
GET/POST値って取れんの?
511 忍法帖【Lv=2,xxxP】 :2011/04/04(月) 02:32:13.00
CGIなら標準入出力と環境変数さえ扱えればいいだけだし。
WebObjectsも浮かばれんね。
512デフォルトの名無しさん:2011/04/04(月) 10:57:50.33
libcgiをObjective-Cでラッピングすればいいとかなんとか
513デフォルトの名無しさん:2011/04/23(土) 00:24:26.58
ttp://s.ameblo.jp/iphoone/theme2-10023168483.html
このブログに書いてあるコードって
持ってる本のコードにソックリなんだけど
いぃのかなぁと
514デフォルトの名無しさん:2011/04/23(土) 01:05:49.83
>>513
本持ってるなら、サンプルコードの使用についての記載は無いのかい?
例えばオライリーのJavaScript第5版には
「...本書や本書のサンプルコードを引用して質問などに答える場合、許可を求める必要はありません。ただし...」
となってるから、引用の量とかによるんじゃ。
515デフォルトの名無しさん:2011/04/23(土) 03:23:10.52
本書及びソフトウェアの一部または全部を出版元から文書による許諾を得ずに複製する事は禁じられています。
って書いてあったたわ
516デフォルトの名無しさん:2011/04/29(金) 00:56:03.63
>>508
まず自分で何が分からないのか
人に説明出来るくらい分からないと

そう考えると不思議と分かる
517デフォルトの名無しさん:2011/04/29(金) 01:01:23.12
インスタンス変数は、
window_にしてとくと、
@synthesizeでxcodeが勝手に補完してくれて、
字余り
518デフォルトの名無しさん:2011/04/30(土) 18:26:36.63
コード書くんだったらxcodeよりもappCodeだろ
519デフォルトの名無しさん:2011/04/30(土) 20:46:18.07
そのココロは?
520デフォルトの名無しさん:2011/04/30(土) 21:43:36.32
>>519
ずっとIDE作ってた会社だけあってエディタとしての機能はappCodeが確実に上
521デフォルトの名無しさん:2011/04/30(土) 21:53:34.64
それ、PyCharm と同じ所の奴だよね

Guido は Emacs を使い続けるらしいけど・・・

https://profiles.google.com/gvanrossum/posts/CGh9MoWU53V

自分も Vim を使い続けるけど・・・
522デフォルトの名無しさん:2011/04/30(土) 22:06:36.37
vimとかemacsを無理に使い続ける人たちって滑稽だと思う
523デフォルトの名無しさん:2011/04/30(土) 22:08:37.80
無理に使い続ける人はそうかもね。何で無理に使い続けるの?
524デフォルトの名無しさん:2011/04/30(土) 22:09:34.75
無理に使い続けてるなら滑稽だけど
ぶっちゃけ快適だから使い続けている
525デフォルトの名無しさん:2011/04/30(土) 22:25:41.22
Code Warrior最凶
526デフォルトの名無しさん:2011/04/30(土) 22:30:35.87
EmacsとかVim使ってて生産性高いなら良いけど
そうじゃない人多いよな
正直迷惑だからやめてほしい
527戦士カンガイバー ◆DMLinuxPbA :2011/04/30(土) 22:32:46.27
どういう風に迷惑かけられたのか詳しく
528デフォルトの名無しさん:2011/04/30(土) 22:32:56.79
emacsやvimを使ってる人は優れたプログラマが多い
emacsやvimの生産性が高いのか、生産性の高いプログラマがそれらを好むのか
おそらくは両方だろう
529デフォルトの名無しさん:2011/04/30(土) 22:34:52.72
Emacs とか Vim の文字を見ただけで干渉してきたがる人がごくたまにいるよね
正直迷惑だからやめてほしい
530デフォルトの名無しさん:2011/04/30(土) 22:39:22.02
>>527
とにかくとろいんだよ
Emacsを相当使いこなしてる人を知ってるけど
その人とのスピードは雲泥の差だし
IDE使ってる俺とも比べるべくも無い
そういう奴を何人も見てる
531戦士カンガイバー ◆DMLinuxPbA :2011/04/30(土) 22:41:30.65
>>530
だから何が迷惑なわけ?
532デフォルトの名無しさん:2011/04/30(土) 22:43:37.09
>>531
それが迷惑だと思わないなら終わってると思うよ
533デフォルトの名無しさん:2011/04/30(土) 22:43:43.06
IDE のプラグインのインストールではまって時間を無駄にしている人と同じ感じかな。
あれはイライラするね。
534デフォルトの名無しさん:2011/04/30(土) 22:45:44.36
まぁ、コード補完まわりとかemacsとかvimは中途半端で微妙だよね
535デフォルトの名無しさん:2011/04/30(土) 22:47:39.03
Emacs や Vim の話をするだけでイチャツイてくる人はもう少し空気を読んで欲しいな。
俺等が Emacs や Vim を使った所で、世界が崩壊する訳じゃないんだから。
536デフォルトの名無しさん:2011/04/30(土) 22:50:30.57
たまに、Emacs に文句を付ける事が生き甲斐なんだー、って人いるよね
正直迷惑だからやめてほしい
537デフォルトの名無しさん:2011/04/30(土) 22:58:00.33
キャメルケース補完の出来ない環境は総じて糞
538デフォルトの名無しさん:2011/04/30(土) 23:09:10.58
たまに、Vim に文句を付ける事に執念を燃やしているんだッ、って人いるよね
正直迷惑だからやめてほしい
539デフォルトの名無しさん:2011/04/30(土) 23:40:38.41
>>520
appCodeちょっと気になる
日本語のコメントとか大丈夫?
540デフォルトの名無しさん:2011/05/01(日) 02:42:08.31
勝手に使ってる分には構わんがこっち寄ってくんなってのemacs厨
541デフォルトの名無しさん:2011/05/01(日) 02:44:46.55
他人が便利に使ってる物をとやかく言う人たちって滑稽だと思う
542デフォルトの名無しさん:2011/05/01(日) 02:47:11.68
>>520
日本語は使えるんでしょうか?
543デフォルトの名無しさん:2011/05/01(日) 09:27:01.01
>>539
>>542
英語のスペルチェック入るから、日本語のコメントには下にちょっと波線が入る
スペルチェック切るか、option+returnで辞書にコメント登録しちゃえば波線は消える
@""で日本語入れる分には特に何も表示は出ないし問題なく書けるよ
544デフォルトの名無しさん:2011/05/02(月) 13:00:17.64
IDEで数秒もかからない作業を数分かけたり精度を下げたりして
会社とプロジェクトの時間を無駄にする素人はまじで消えろと思う。
せめて作業によって複数の環境を併用してくれればいいのに。
趣味で触るなら好きな環境を使えばいいと思うんだけどね。
545デフォルトの名無しさん:2011/05/02(月) 13:09:10.42
IDE 使わないでコンマ数秒でやれば文句無いんだろ。
IDE に心酔しているみたいだけど、単なるツールにそこまで入れ込んで
スレ違いの話題を延々続けるのは理解出来んわ。
546デフォルトの名無しさん:2011/05/02(月) 14:13:55.74
>>544
転職すればおk
547デフォルトの名無しさん:2011/05/02(月) 14:56:01.18
>>545
構文解析が必須のリファクタリングをemacsでもviでもコンマ数秒で行える人を見たことがない
実際できるものならそれを使って欲しい
548デフォルトの名無しさん:2011/05/02(月) 15:00:54.73
>>547
置換で代用しようとして失敗する奴は絶滅して欲しいよな…
549デフォルトの名無しさん:2011/05/02(月) 15:01:50.82
>>547
Vim で refactoring する方法はググれば沢山載ってるから、好きにすれば良い。

それはここで話す内容じゃないし、君の個人的な不満を吐き出す場所でもない。
550デフォルトの名無しさん:2011/05/02(月) 15:05:59.65
そんなことよりCIDR使おうぜ
551デフォルトの名無しさん:2011/05/02(月) 15:08:18.78
IDE 聖戦士様はこちらで戦いを挑んで来たら良いんじゃねーの

emacsでeclipseと同等の開発環境は作れるのか?
http://hibari.2ch.net/test/read.cgi/tech/1292073293/

ここで不満を垂れられてもスレ違いなだけなんだわ
552デフォルトの名無しさん:2011/05/02(月) 15:09:52.65
>>549
ごめん、 >>551 見てくる
553デフォルトの名無しさん:2011/05/02(月) 15:17:00.79
もしかすると、CIDRって予想以上に使ってる人少ないのかな
554デフォルトの名無しさん:2011/05/02(月) 17:40:45.02
>>553
もしかして ttp://www.infoq.com/jp/news/2011/04/jetbrains-appCode のこと?
普通に CIDR でググッてもネットワーク関連の用語しか引っかからなくて焦った。
555デフォルトの名無しさん:2011/05/02(月) 17:52:35.22
小さなツールで大きな仕事をするのが*nixと*nixプログラマ
大きなツールで小さな仕事しか出来ないのがNTとドザグラマ
556デフォルトの名無しさん:2011/05/02(月) 17:54:12.90
>>554
そうそう、それのこと
appCodeの方が一般的なのかな?
557デフォルトの名無しさん:2011/05/02(月) 17:56:00.79
エディタ戦争って本当に不毛だよな
ツールを押し付け合っても誰からも感謝されない
558デフォルトの名無しさん:2011/05/02(月) 18:05:52.73
IDEはエディタじゃない
IDEにエディタが内蔵されてるだけ
エディターとして語るのは言語道断
559デフォルトの名無しさん:2011/05/02(月) 18:18:38.58
そういう言葉遊びはどうでもいいわ
560デフォルトの名無しさん:2011/05/02(月) 18:20:31.27
大きなことは出来ませんが、小さなことからコツコツと
561デフォルトの名無しさん:2011/05/02(月) 18:21:59.39
Objective-CというかMac好きな輩と
IDE/Editor論争が好きな輩は被ってそう
562デフォルトの名無しさん:2011/05/02(月) 18:28:21.01
ツールを押し付け合っても誰からも感謝されない
563デフォルトの名無しさん:2011/05/02(月) 21:51:16.87
Emacs, Vimはよく出るけど今じゃ肥大化してるからな。
そこでnanoとかjoeってどうよ?
オリジナルViのようにシンプルだぜ
564デフォルトの名無しさん:2011/05/02(月) 22:55:32.05
普段は御本人こだわりのツール群使ってる奴が
他のメンバのマシンの前で手も足も出なくなってるの見ると
なんだか可哀想になってくる
565デフォルトの名無しさん:2011/05/02(月) 23:05:51.97
そういう事は堂々と本人の前で言えよ
いつまでこのスレで愚痴ってるんだよ・・・
566デフォルトの名無しさん:2011/05/03(火) 07:21:05.15
影で他人のツール構成を小馬鹿にしてる奴が
仕事をしてる本人の前ではビビって何も言えなくなってるのを見ると
なんだか可哀想になってくる
567デフォルトの名無しさん:2011/05/03(火) 10:26:45.35
俺はviもemacsも一通りの操作はできるし
IDEもメジャーどころは一通り抑えてるので大丈夫だけど
現場のルールでIDEを仕様する事って決まってるときに
viやemacsしか使いこなせない人の生産性の低下は目も当てられないとは思う
本番環境とかで緊急のデバッグするときにIDEしか使えない人のカスっぷりも
同様に目も当てられないので、プロならどの道具も普通程度には使えた方が良いと思う
その中から好きなの選んで使いこなすのは良いと思うけどね
568デフォルトの名無しさん:2011/05/03(火) 11:03:19.73
まだ言ってるのかよ
スレ違いを理解出来ない人間が何を言っても・・・
569デフォルトの名無しさん:2011/05/03(火) 11:06:56.68
スレ違い!スレ違い!って叫ぶだけじゃなくて話題提供しようぜ
出来ないなら黙ってりゃ良いだけだし
appCode使ってみたけど、確かにXcodeでソース書く気は失せたな
570デフォルトの名無しさん:2011/05/03(火) 11:37:51.33
黙ってりゃ何が良いんだ?
グダグダ愚痴を垂れてるのなんて誰も見たくないだろ
571デフォルトの名無しさん:2011/05/03(火) 11:43:54.16
>>570
どうでも良い方の話題にだけ食いついてるお前も同罪
572デフォルトの名無しさん:2011/05/03(火) 11:46:14.98
どうでも良くない話題ってどれ?
573デフォルトの名無しさん:2011/05/03(火) 23:47:43.98
Objective-C
574デフォルトの名無しさん:2011/05/03(火) 23:53:40.69
じゃあ Objective-C の話題に戻そうぜ
575デフォルトの名無しさん:2011/05/04(水) 10:36:46.45
関数型関数型って、関数部分を純粋にしてみせておおはしゃぎだけど、
結局データはどうなるのよ。関数に渡すんだろ?

OOPでインタフェースの下に隠れてる内部構造を、
結局外から渡そうってんだろ? トータルで見たら散らかってね?
関数部分に副作用ありません、でもいっぱいデータ散らかして、
注意深く渡しながら、見張りながらやりくりしていきます、って?
576575:2011/05/04(水) 10:37:21.25
誤爆ごめん。
577デフォルトの名無しさん:2011/05/04(水) 10:56:22.45
はしゃぎすぎだろw
578デフォルトの名無しさん:2011/05/04(水) 17:12:21.77
馬鹿野郎 test get() {0123,s};
for IilO0 []<[email protected]>
アハン
579デフォルトの名無しさん:2011/05/04(水) 18:20:27.79
言語混ざり過ぎだろ、ぼけなす
580デフォルトの名無しさん:2011/05/05(木) 16:08:44.81
星来たんはぁはぁ(*´Д`*)
581デフォルトの名無しさん:2011/05/08(日) 15:00:58.27
最近始めたんだけど、c++よりわかりやすいね、objective-c。メッセージ式が明確に分離されてるのがいいと思う。あの引数の構文は未だに慣れないけど。

久々のプログラムだったので、構造体の配列の初期化構文を思い出すためにK&Rの初版持ち出してきて見てたら、ベースになってるc自体もANSIでだいぶん変わってきてるんだなあと、面白かったわ。
582デフォルトの名無しさん:2011/05/08(日) 18:58:49.52
あっそ
583デフォルトの名無しさん:2011/05/08(日) 19:10:53.10
もちろん ObjC は良い言語だけど、そもそも C++ より分かりにくい言語が中々無い
584デフォルトの名無しさん:2011/05/08(日) 23:19:04.26
rubyとか文法から動作まで結構わかり難いよ
585デフォルトの名無しさん:2011/05/09(月) 01:26:30.38
>>584
だよな。一回「え?」ってなるんだよな。
分かれば楽なんだが、どう見ても驚き最大化。
まぁ初めての言語ならいいのかも知れんが。
まぁC++は「は?」になる訳だが。
586デフォルトの名無しさん:2011/05/09(月) 06:55:05.32
省略しまくったPerl
587デフォルトの名無しさん:2011/05/09(月) 13:11:14.49
あれは甘くないSugarだよねw
588デフォルトの名無しさん:2011/05/10(火) 17:03:49.29
- (void)viewDidLoad
{
[super viewDidLoad];

self.navigationItem.title = @"除外設定";
self.navigationItem.backBarButtonItem.title = @"除外設定";

UISearchBar* search = [[[UISearchBar alloc]init]autorelease];
search.prompt = @"検索";
search.showsCancelButton = YES;

CGRect orgFrame = self.tableView.frame;

[self.tableView addSubview: search];

search.frame = CGRectMake(orgFrame.origin.x, orgFrame.origin.y, orgFrame.size.width, 50);
self.tableView.frame = CGRectMake(orgFrame.origin.x, orgFrame.origin.y, orgFrame.size.width, orgFrame.size.height - 50);
}

なぜか、セクションヘッダとテーブルコンテンツの間に、サーチバーが入ってしまいます。
どなたか、サーチバーを、タブバーの下に固定する方法をご存知でしたらご教示願います
589ビル・ジョブス:2011/05/12(木) 10:26:28.21
tableViewにaddSubviewってのが・・
タブバー?の下って Y軸?Z軸?
tableView.tableHeaderView = searchBar
じゃダメなの?
590デフォルトの名無しさん:2011/05/14(土) 19:44:46.46
navigationBarにsearchBarの間違いっぽいな。
http://blog.syuhari.jp/archives/1197
591ビル・ジョブス:2011/05/15(日) 01:15:21.11
場所ね
592デフォルトの名無しさん:2011/05/21(土) 14:15:34.97
デリゲートってコールバックと何が違うの?
言語の設計思想的な違いじゃなくて、使う場面的とか利点とかで。
593デフォルトの名無しさん:2011/05/21(土) 14:27:34.93
おれのかんがえたでりげーとのりてん

デリゲート : ObjC の通常のメッセージ送信の延長で使えるから楽
コールバック : NSInvocation とか使ってセットアップするのが面倒そう
594デフォルトの名無しさん:2011/05/21(土) 17:11:41.29
>>592
callback: 関数ポインタとか
delegate: オブジェクト
全然違うっポイ

けど、やってることは同じでしょ
595デフォルトの名無しさん:2011/05/21(土) 17:12:52.71
ふむーthx 少し分かった気がする。
だがスマン、ちょっと説明不足だった。

コールバックは他の言語で言うところのコールバックだったのだけど、
他の言語でコールバックとかイベントマネージャ系組む時ってObjCの
デリゲートみたいな仕組みになる組み方(オブジェクト&ハンドラ登録
みたいな感じ)してきたから、なんかよく分からなくなった。

例えば UIView の +setAnimationDelegate と +setAnimationDidStopSelector の
組み合わせなんかは結局の所コールバック指定しているのと同じだよなっていう。

他にUIView の継承クラスに特定の処理の実行後に呼び出して欲しい処理とかを
- setDelegateForAfterHoge:(id)obj selector:(SEL)selector;
みたいなメソッド書いておいてインスタンスに登録出来るようにしておくとか・・・

結局、俺が概念的にコールバックとデリゲートの区別が付いてないだけなのかもしれん。
596デフォルトの名無しさん:2011/05/21(土) 17:15:16.97
>>594
> けど、やってることは同じでしょ

おー、この一言が欲しかったっぽい!<俺
thx!!
597デフォルトの名無しさん:2011/05/21(土) 18:50:06.92
コールバックはオブジェクト指向以前からあった概念なんで
たいていは単純な関数ポインタのことを指す

デリゲートは関数ポインタというメカニズムにもうひと手間加えた仕組みなんで
実際に処理する相手がネットワークの向こうにいても気にせず呼べる
…って感じの話をEOFの頃に聞いた
598デフォルトの名無しさん:2011/05/21(土) 21:28:12.55
なるほどね。関数ポインタ(あるいはアセンブラ上の処理起点
アドレスの格納アドレス)を使って相手の都合の良い時に呼び
出して貰うという伝統的な手法がまず正統なコールバック。

その手法や仕組みをより抽象化して柔軟性を高めてオブジェクト
指向の"委譲"と定義づけたものがデリゲートってことか。

だからそれらは全然違うけど、使って得られる(処理フロー的な)
結果は似てくるし、使う場面も似てくるのはある意味当然っと。

C,C++なんかでサードのSDKやライブラリの英語リファレンスなんか
には実質デリゲートもコールバックの一種として捕らえていて"コールバック"
と書いてある場合が多いのね。

大分すっきりしたわ。アリガトー。
599デフォルトの名無しさん:2011/05/21(土) 21:39:38.18
コールバックは仕組みじゃね?

関数ポインタを渡して関数内でコールバック。
デリゲートへの参照を渡して関数内でコールバック。
600デフォルトの名無しさん:2011/05/22(日) 03:01:41.61
関数ポインタと、デリゲートへの参照 ってどう違うの? 
601デフォルトの名無しさん:2011/05/22(日) 06:39:03.76
多段delegateが出来るところが大きな違いじゃね。

A=>C=>D
っていうデリゲートフローがあって、メソッドによって
Cで処理してたコード、Dで処理してたコードをがあったとする。
そこにBを挟むことで
A=>B=>C=>D
Bで機能追加(代替)出来るようになるじゃん。
機能追加が既存のコード書換なしで、IBいっぱつで出来るのが
おもろいと思うんだけど。

似たような考え方だと、例外の処理とかに近いよね。
602デフォルトの名無しさん:2011/05/22(日) 17:17:45.37
デリゲートは、関数というより、オブジェクトだから、デリゲート自体にプロパティを持たせられるというところが、おいしいよね。
603デフォルトの名無しさん:2011/05/22(日) 20:17:55.56
>>602
>デリゲート自体にプロパティを持たせられるというところが、おいしいよね。

いえてる。
604デフォルトの名無しさん:2011/05/23(月) 13:08:39.51
エーテル
605デフォルトの名無しさん:2011/05/23(月) 14:14:20.73
冷えてる。
606デフォルトの名無しさん:2011/05/23(月) 14:22:41.06
インテル
607デフォルトの名無しさん:2011/05/23(月) 14:23:17.60
エーテルが煮えてる
608デフォルトの名無しさん:2011/05/23(月) 15:09:08.86
家出る
609デフォルトの名無しさん:2011/05/23(月) 16:23:17.77
メーテル、見えてる?
610デフォルトの名無しさん:2011/05/23(月) 20:04:13.97
ちょっとだけ
611デフォルトの名無しさん:2011/05/30(月) 22:08:27.74
Objective-Cのメッセージって、スレッド間とかで非同期送信とかできない?
612デフォルトの名無しさん:2011/05/31(火) 00:14:52.17
NSNotificationCenter
613デフォルトの名無しさん:2011/05/31(火) 07:50:03.64
>>611
NSThreadクラスを使う。
614デフォルトの名無しさん:2011/05/31(火) 09:57:04.64
performSelector:onThread:withObject:waitUntilDone: だろ
615デフォルトの名無しさん:2011/05/31(火) 16:55:15.49
>>611
どのぐらいのものをどのぐらいの速度で送りたいのか知らないけど、ネットワークの向こうにある
オブジェクトにさえ簡単にメッセージ送れるのがObjective-Cの良いところ。
616デフォルトの名無しさん:2011/05/31(火) 17:01:19.89
ネットワークの向こうについてkwsk
617デフォルトの名無しさん:2011/05/31(火) 17:02:22.33
NSProxyとかNSConnectionとか
618デフォルトの名無しさん:2011/05/31(火) 17:43:14.09
ネットワークの向こうに簡単にメッセージを送れるっていうか、そのための作りこみが結構いるよね。
そしてそれは、他の言語でも同じじゃない?
619デフォルトの名無しさん:2011/05/31(火) 23:06:49.56
@class A;
@interface B : A {
}
@end

上のようにヘッダーでスーパークラスの宣言を@classでやろうとすると
「error: cannot find interface declaration for 'A', superclass of 'B'」
というエラーが出てしまうんですが、#importでないとダメでしょうか?
620デフォルトの名無しさん:2011/05/31(火) 23:14:34.36
だめです。
621デフォルトの名無しさん:2011/06/01(水) 00:13:16.16
そんなこといわずに、そこをなんとかお願いします。
622619:2011/06/01(水) 09:41:24.44
.mファイルに#importをまとめて.hファイルは@classでまとめるとかっこいいかなって思ったんですが
無理なら諦めます
623デフォルトの名無しさん:2011/06/01(水) 09:53:56.00
んじゃ、.hにまとめて.hで#importすればw
624デフォルトの名無しさん:2011/06/01(水) 10:07:12.43
>>622
.mファイルで#importしたら、お前のクラスを使う別のモジュールが、ヘッダファイルだけを#importしても使えないってことじゃん
ヘッダファイルの意味をなさねぇじゃんw
ヘッダファイルで定義されてるのはクラス名だけじゃないだろ。マクロだったり、依存する他のヘッダのインポートだったり。
625619:2011/06/01(水) 14:01:15.63
>>623-624
じゃあなんのために@classあるの?って話しになっちゃうと思うのですが。。。
626デフォルトの名無しさん:2011/06/01(水) 14:25:14.00
AクラスがBクラスを参照し、BクラスがAクラスを参照している場合に
どっちも定義ができなくなっちゃうでしょ。

つか前方宣言でくぐれ
627デフォルトの名無しさん:2011/06/01(水) 18:41:37.23
>>625
> じゃあなんのために@classあるの?って話しになっちゃうと思うのですが。

そのレベルなのかよ
628デフォルトの名無しさん:2011/06/01(水) 23:54:11.68
>>627
答えられないならレスすんじゃねえよカス
629デフォルトの名無しさん:2011/06/02(木) 00:05:14.18
なぜ@classがあるのか、それは@classでまとめるとかっこいいからです。
630デフォルトの名無しさん:2011/06/02(木) 01:19:38.00
>>619
スーパークラスのヘッダファイルは常にインポートする必要がある。
@classで宣言したクラスはコンパイラにそういうクラスがありますよと教えているだけ。
631619:2011/06/02(木) 08:41:41.88
仕様ということですね
632デフォルトの名無しさん:2011/06/02(木) 08:49:16.99
仕様じゃなきゃ、なんだったんだと
633デフォルトの名無しさん:2011/06/02(木) 13:11:11.55
バグとか
634デフォルトの名無しさん:2011/06/02(木) 16:42:17.95
スパークラスのヘッダのインポートが必要ないなら、そもそも#import、#includeプリプロセッサ自体が必要ないじゃんw
635デフォルトの名無しさん:2011/06/02(木) 17:39:59.25
♨クラスw
636デフォルトの名無しさん:2011/06/02(木) 19:13:18.75
@protocol MyGreatHeroDelegate;

@class MyGreatHero : MyCharacter {
SpecialWeapon *weapon;
}

@property (nonatmic, assign) id<MyGreatHeroDelegate> delegate;

@protocol MyGreatHeroDelegate <NSObject>
- (void)myGreatHero:(MyGreatHero *)hero didBeatMonsters:(NSArray *)monsters;
@end
637デフォルトの名無しさん:2011/06/03(金) 23:26:25.75
Objective-Cは、ヒープにオブジェクト作るのに何で
メンバーをinterfaceに記述するようにしたんだろ?
@protectedとか@publicのためなのか?いらんだろこんなもん。
638デフォルトの名無しさん:2011/06/03(金) 23:29:26.30
何を言ってるんだお前は。
639デフォルトの名無しさん:2011/06/03(金) 23:48:29.57
>>638
メンバーつうかインスタンス変数な。
インスタンス変数をpimplにできるじゃん。
640デフォルトの名無しさん:2011/06/03(金) 23:57:45.64
@interface に書きたくないのならランタイム叩けば良いだけだろ。
641デフォルトの名無しさん:2011/06/04(土) 02:03:01.67
痛っ..
642デフォルトの名無しさん:2011/06/04(土) 22:38:57.79
>>641
だいじょうぶっ!?傷口見せて!!早く消毒しないとっ!!
643デフォルトの名無しさん:2011/06/04(土) 23:02:53.87
>>642
手遅れです。
氏んでも直りません。
644デフォルトの名無しさん:2011/06/05(日) 03:45:07.71
上の方に仕事が来たっぽいから下見に来たら5スレ目?!
645デフォルトの名無しさん:2011/06/05(日) 04:19:22.35
はぁ? 何いってんのお前? 市ねよ
646デフォルトの名無しさん:2011/06/05(日) 05:27:58.88
>>644
うほ、まず2chかよw 死ねよ下流w
647デフォルトの名無しさん:2011/06/07(火) 22:47:11.28
@property (strong, nonatomic) UIWindow *window;

Xcode4.2でプロジェクトを作成すると
上のコードで作られるんですが「strong」ってなんですか?
648デフォルトの名無しさん:2011/06/07(火) 23:25:08.17
649デフォルトの名無しさん:2011/06/08(水) 03:00:22.86
>>647
strongとは、読んで字のごとし、ストロング、つまり強いということです。
strongと宣言することで、他の一般的な変数(弱い変数)の代入を受け入れないという
ことを意味します。
但しその後に、nonatomicの宣言がありますので、charやint等の原始的な変数
以外のオブジェクト型については代入可能となります。
このへんの考え方は特に初心者には最初はとっつきにくいかも知れませんが、慣れれば
自然と理解きるようになるので、がんばって下さい。
650デフォルトの名無しさん:2011/06/08(水) 03:04:18.86
あ、ゴメン、全然違った。>>649はスルーして。
651デフォルトの名無しさん:2011/06/08(水) 03:04:24.60
ここはひどいいんたーねっつですね
652デフォルトの名無しさん:2011/06/08(水) 08:08:25.71
>>648
ガーベジコレクション環境のストレージ修飾子の__strongって記述ぐらいしかないのですが!
653 忍法帖【Lv=1,xxxP】 :2011/06/08(水) 08:22:44.01
iOS5の変更点(API Diffじゃなくて)のとこに少し説明があったけど読んだかい?
654デフォルトの名無しさん:2011/06/08(水) 12:55:27.93
>>653
ありがとうとざいます。
ずっと読んでいじってたんですが、なんなんすかARCって。。これ誰得なんだよ。。
655 忍法帖【Lv=1,xxxP】 :2011/06/08(水) 18:28:20.90
コンパイラオプションが必要だし、今まで通りでいいんじゃない?

メモリ管理を楽にしようってのが目的なのは間違いないだろうけど…

また忍法帳がorz
リセットした俺が悪いけど

656デフォルトの名無しさん:2011/06/12(日) 23:22:30.40
iPhoneの開発でsocket通信やってるんですが、
タイムアウトの設定ってどうやったらいいか知りませんか?
通信は、CFStreamCreatePairWithSocketToHostを使うやり方です。
657デフォルトの名無しさん:2011/06/12(日) 23:47:16.98
スレチ
658デフォルトの名無しさん:2011/06/13(月) 12:52:39.68
ん? ココア絡みはダメなのか?
659デフォルトの名無しさん:2011/06/13(月) 13:44:22.05
別にスレチじゃないと思うけど
詳しい人はいないんじゃないかな

新・mac板の方が活発だと思う
660デフォルトの名無しさん:2011/06/13(月) 18:15:04.03
>>658
CF は Cocoa ちゃうで。
661デフォルトの名無しさん:2011/06/13(月) 18:31:21.69
             /)
           ///)
          /,.=゙''"/   
   /     i f ,.r='"-‐'つ____こまかいことはよろしゅおまんのや!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
662デフォルトの名無しさん:2011/06/13(月) 23:50:21.63
xcode4で開発しています。xib上で画像配置などのレイアウトをしたいのですが
横向きにするのにはどうしたらいいのでしょうか?

view-based applicationでプロジェクトを作成して
xibファイルをクリックするとデフォルトで縦向きになっているので
その画面を横向きにしたいのです。
よろしくお願いします。
663デフォルトの名無しさん:2011/06/13(月) 23:58:18.30
あちこちのスレに同じ質問してるけど
マルチポストは嫌われるぞ

あと、メニューくらい一通り探せw
664デフォルトの名無しさん:2011/06/14(火) 00:12:34.63
>>663
すみません2つのスレだけですが同じ質問してます
実機で画面を横だけにするのはコードで書いたのですが
どうしてもxibのほうが横にできないのです
665デフォルトの名無しさん:2011/06/14(火) 00:28:01.25
xibファイル横になりました。
別スレで解決しました。ありがとう。さようなら〜
666デフォルトの名無しさん:2011/06/14(火) 03:40:54.06
二度と来んな
667デフォルトの名無しさん:2011/06/15(水) 23:16:47.29
ターミナル.app上のbash上から、Obj-Cコードのコンパイルってコマンドで出来ますか?
668デフォルトの名無しさん:2011/06/15(水) 23:18:32.19
できるよ

gcc foo.m -o foo

みたいにすれば良い
669デフォルトの名無しさん:2011/06/15(水) 23:27:09.24
なんと、gccで出来たのですね
てっきりgccはC言語専用だと思ってました、ありがとうございます
670デフォルトの名無しさん:2011/06/16(木) 05:45:06.97
Xcode4.2/4.3で新規のプロジェクト作ると、ARCがデフォルトでオンになるな...
楽になるのか、ならんのか...
671デフォルトの名無しさん:2011/06/19(日) 15:35:12.51
The Objective-C Programming Language
Object-Oriented Programming with Objective-C

webでも見れるしPDFも落とせるけど
ibooksにもEPUBがあるのを見つけた

どうでもいいか・・
672デフォルトの名無しさん:2011/06/19(日) 15:55:02.76
G(NU) C(ompiler) C(ollection)
673デフォルトの名無しさん:2011/06/19(日) 21:45:13.29
etain/releaseを人間にやらせるアホアホ仕様がARCの導入でようやく直ったか
674デフォルトの名無しさん:2011/06/19(日) 21:48:16.54
どの程度使い物になるのか知らんが、俺は手動開放原理主義で行くぜ。
675デフォルトの名無しさん:2011/06/19(日) 21:58:50.29
>>673
etainてな〜に?
ねえねえ、etainてなんなの?w
676デフォルトの名無しさん:2011/06/19(日) 23:27:05.35
痛いん
677デフォルトの名無しさん:2011/06/19(日) 23:39:58.65
あい〜ん
678デフォルトの名無しさん:2011/06/20(月) 19:30:39.89
もしかしてARCってコンパイル時にrelease漏れの警告出してくれるの?
679デフォルトの名無しさん:2011/06/20(月) 19:52:21.59
>>678
警告出すだけなら今でも静的解析で出来るだろ
680デフォルトの名無しさん:2011/06/20(月) 20:32:03.90
いやん&hearts; しけべ
681デフォルトの名無しさん:2011/06/20(月) 21:08:10.78
テスト&hearts;
682デフォルトの名無しさん:2011/06/20(月) 21:38:13.06
まだiOS5て出してないけどドキュメントチラ見した感じだと



あ、NDAの範囲かこれ?
683デフォルトの名無しさん:2011/06/20(月) 21:40:20.06
出してないけどって何だ俺…手を付けてないけどでしたすんません
NDAも怖いので口をつぐんで孤独に暮らしたいと思います
684デフォルトの名無しさん:2011/06/20(月) 21:54:30.94
llvm arcでググればドキュメントでてるけど、NDAに該当するのかね?
http://clang.llvm.org/docs/AutomaticReferenceCounting.html
685デフォルトの名無しさん:2011/06/20(月) 22:17:40.66
大抵 えぬでぃーえー って言いたいだけ
686デフォルトの名無しさん:2011/06/20(月) 22:40:49.96
だってApple怖いんだもん
687デフォルトの名無しさん:2011/06/20(月) 23:10:37.55
>>684
そこに書かれている範囲内なら問題ない
688デフォルトの名無しさん:2011/06/21(火) 09:31:31.67
ゲーム1本iPhoneに移植するのにフリーの人に頼むと、
相場いくらですか?
規模はドラクエIくらい
689デフォルトの名無しさん:2011/06/21(火) 09:34:17.28
一人一月で150〜200万くらい?
690デフォルトの名無しさん:2011/06/21(火) 09:43:26.47
>>689
人月? 移植期間が一ヶ月?
691デフォルトの名無しさん:2011/06/21(火) 10:30:04.57
ドラクエの中の規模がわかる人がそういるとは思わないから人月で回答が返ったんだと思う。
で、実際問題元のコードが移植を前提として書かれているかどうかによってかなり違う。
全く違うプラットフォームに対する移植実績があれば(ドラクエはあるよね)それなりに短くなる。

「共通で使えるロジックがほとんどで表示回りさえ書き換えれば終わるから」

に泣かされた移植屋は多いはず。
692デフォルトの名無しさん:2011/06/21(火) 12:50:53.91
人月150〜200万ってマジ?
ゲームプログラマってそんな稼いでんの?
つか、頼む方はペイできんのか
693デフォルトの名無しさん:2011/06/21(火) 13:35:31.82
150〜200万はありえん。業者に払う額だよ。
フリー相手なら、その人が仕事してる期間に普通の生活を出来る額を払えばいい。
694デフォルトの名無しさん:2011/06/21(火) 15:30:01.19
人月じゃなくてひと月で出来る人にやらせたらってことだろ
ほどほどにダラダラやっていいなら>>693だろうけど
695デフォルトの名無しさん:2011/06/21(火) 16:41:28.87
>フリー相手なら、その人が仕事してる期間に普通の生活を出来る額を払えばいい。
これはひどい。
696 忍法帖【Lv=8,xxxP】 :2011/06/21(火) 16:44:27.24
>>692
ペイする様に頑張って売ればいいじゃない。
697デフォルトの名無しさん:2011/06/21(火) 16:58:20.05
>>695
現実がそうなっているだろう
698デフォルトの名無しさん:2011/06/21(火) 17:03:22.81
>>695
他人は使い捨ての奴隷とでも思ってるんだろうなぁ。

安いやつは安いなりの理由があるもんで、
最後には結局自分でケツを拭くはめになって逆に高くついたりするんだよな。
フリーの外れを引いたときはホント悲惨だからな。
699デフォルトの名無しさん:2011/06/21(火) 19:05:47.67
交渉次第だろ
多分自分に自信がなくて>>693みたいな要求にも答えちゃう奴が多いんだろうな
しっかりやる人間はちゃんと交渉して折り合いがつかなければ蹴る
700デフォルトの名無しさん:2011/06/22(水) 02:32:11.47
今は圧倒的に発注者有利だからね
無茶な納期でも金に困ると受けざるを得んのよ
701デフォルトの名無しさん:2011/06/22(水) 07:43:37.79
要するに「>>693みたいな嫌な奴も時々いるよね」って話。
702デフォルトの名無しさん:2011/06/22(水) 20:08:41.26
これで起業できる
売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型格安オフィスを建て
兼レンタル自習室で収入を得る
http://tinyurl.com/43xmk7m
http://tinyurl.com/3mopkfy
703デフォルトの名無しさん:2011/06/23(木) 09:52:37.06
あっちこっちに貼るんじゃねーよ糞が
704デフォルトの名無しさん:2011/06/24(金) 00:18:59.04
>>688
リソースが揃ってる前提で、グラフィックや音楽の作り直しもなければ、
300万ぐらいからやってくれる人がいるとは思う。
費用の半分以上はリソース管理まわり。
FC->SFCのときみたいに真面目に移植したらもっとかかる。
705デフォルトの名無しさん:2011/06/24(金) 08:04:36.89
国内向けアプリにその額払うと、100%ペイしないね。
706デフォルトの名無しさん:2011/06/24(金) 08:33:24.70
iPhoneのTwitterアプリ作りたいんだけどなんかいい本ない?
707デフォルトの名無しさん:2011/06/24(金) 09:53:17.07
600円で5000本。余裕。
708デフォルトの名無しさん:2011/06/24(金) 09:56:31.87
3割引かれて利益乗せると1200円か。物によっては余裕。
709デフォルトの名無しさん:2011/06/24(金) 10:25:29.89
引き伸ばす話でもないけど、どうせiPhoneでやるなら翻訳家雇って多国語対応した方がいいと思う
てか、それでペイする視野でないと価格では今後勝てなくなる可能性が高い
戦場が世界に移ってるってことを肌で感じないと
710デフォルトの名無しさん:2011/06/24(金) 11:20:06.38
いつのまにか現実論からお花畑理想論にw
やっぱりiPhone信者=禿信者なんだろうな…
たった2万Kwのメガソーラーを北海道に作るために
頑張って禿に貢いでねw
711デフォルトの名無しさん:2011/06/24(金) 11:51:59.46
>>710
それ、「絶対損しないルール」作る事に全力あげてて巧く行きそうだから絶対もうかる。

どこにお金を突っ込めば増えるかよく知ってるよ。「役員報酬全額寄付」って言っとけばどれだけ儲かるかとかね。
712デフォルトの名無しさん:2011/06/24(金) 23:56:57.83
>>710
iPhone界隈でハゲって言ったらJobs。
韓国の原発は安全なので世界に普及させようとか言ってる孫はカスすぎて話しにならん。
713デフォルトの名無しさん:2011/06/25(土) 00:59:15.52
はなしし
714デフォルトの名無しさん:2011/06/25(土) 05:15:07.65
JavaでいうAssertionErrorに相当するものは何なんでしょう?
case文のdefaultとかでエラー投げないと気が済まないたいしつ何です
715デフォルトの名無しさん:2011/06/25(土) 05:26:04.81
NSAssert,assert()あたりか。
716デフォルトの名無しさん:2011/06/25(土) 12:19:00.15
>>714
そんな体質の人が自分の思ったキーワードでリファレンス引かない不思議
717デフォルトの名無しさん:2011/06/25(土) 15:47:44.78
怠惰な疾患かと
718デフォルトの名無しさん:2011/06/28(火) 01:00:53.31
719デフォルトの名無しさん:2011/06/28(火) 13:15:45.48
URLしか張っていないリンクは危険だから開かないことにしている。
720デフォルトの名無しさん:2011/06/28(火) 13:54:12.27
>>719
元麻布休止のお知らせだった
南無
721デフォルトの名無しさん:2011/06/28(火) 13:54:36.96
休止→急死
722デフォルトの名無しさん:2011/06/28(火) 14:38:52.05
PC無害
精神的有害
723デフォルトの名無しさん:2011/06/28(火) 15:29:52.02
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/Articles/chapter_2_section_3.html
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocObjectsClasses.html
nilへのメッセージ送信の説明箇所で

•メソッドがstructを返す場合、(中略)、データ構造体のどのフィールドにもnilに送信されたメッセージは0.0を返します。その他のstructデータ型では0のみになることはありません。

とあるのですが意味がよく分かりません。
この「その他のstructデータ型」って例えば何の事でしょうか?
724デフォルトの名無しさん:2011/06/28(火) 17:10:10.33
>>723
自分で英語の文書をさしているのに、、、
a message sent to nil returns 0.0 for every field in the struct.
この文章を1文で訳そうとしているところに訳者の失敗がある。
メッセージがnilに送信された場合は0が返る。構造体の全てのフィールドは0である。
と訳すべきで、全体としては
「Mac OS X ABI Function Call Guide」に従いレジスタとして返される構造体(トータルで
32bit以下だったり64bit以下だったり、アーキテクチャ依存)は中身が全部0になるけど
収まらない奴(other struct)はそーはならないよ。
ってはなしだ。
725デフォルトの名無しさん:2011/06/28(火) 17:10:45.23
訳がちょっとおかしい

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/LowLevelABI/000-Introduction/introduction.html#//apple_ref/doc/uid/TP40002521
『Mac OS X ABI Function Call Guide』
に書かれているレジスタを使用して返されるstruct型であれば、全てのフィールドが0で埋められて返される。
そうでないstruct型はそうはならない(値は保証されない)。

structがレジスタで返されるなら全フィールドが0.0であることが保証される。それ以外は不定。

どういうのがレジスタで返されるかは上のリンクの先を読んでくれ
アーキテクチャに依るはず
面倒だからstructが返るメソッドのときはレシーバのnilチェック推奨
726デフォルトの名無しさん:2011/06/28(火) 18:59:35.67
Mac用のは古い。
727723:2011/06/28(火) 19:14:38.46
ありがとうございます。すっきりしました。
728デフォルトの名無しさん:2011/06/29(水) 06:30:51.99
ARC 入れると、Reachability Sample に出てくる void*とNSObject * のキャストが出来ないのですが、Session video見ても、どうすれば良いのか不明です。どうすれば解決するのでしょうか?
729デフォルトの名無しさん:2011/06/29(水) 07:43:06.22
>>728
NDAだけど、セッション322見た?
730デフォルトの名無しさん:2011/06/29(水) 08:55:08.83
322 にもあったのですか。見てみます。
ありがとうございます。
731デフォルトの名無しさん:2011/06/29(水) 13:05:50.50
>>728 ですが、322,323 見ても、使えないのはわかるのですが、どうしたら良いのかが分かりません。slide のpdfも睨めっこしましたが?です。
732デフォルトの名無しさん:2011/06/29(水) 13:36:57.55
そうですか。
残念ですね、頭の中味が。
733デフォルトの名無しさん:2011/06/29(水) 16:45:15.98
ARCは本来、728みたいな人のためなんだけどね。まだベータ版だからなぁ…。
ってか、AppleはCocoa的に正しいポインタを返すラッパークラスを提供すべきだと思う。
734デフォルトの名無しさん:2011/06/29(水) 17:04:35.48
ARCは型を見てRefarence Counterをいじってるから
Objcオブジェクトとその他のポインタ(型)をキャストされると
Reference Counterを追えなくなるんだよ
だからキャストできなくしてる
ただそれだけ

Objcオブジェクトとその他のポインタ(型)をキャストしたければARCは使うな
ARC使いたければObjcオブジェクトとその他のポインタをキャストするな
ってこと


と、理解してるんだけど、あってる?
735デフォルトの名無しさん:2011/06/29(水) 18:01:48.24
そしたら、ARCってクラス毎に、有効/無効の混合は出来ますかね。
736デフォルトの名無しさん:2011/06/30(木) 00:40:47.22
ファイル単位でon/offできる
737デフォルトの名無しさん:2011/06/30(木) 07:59:38.68
そのon/off機能で、使い分けレバ良いのかな?on/offどうやるのかな?
738デフォルトの名無しさん:2011/06/30(木) 12:50:54.32
↑自分で調べる気が無い奴
739デフォルトの名無しさん:2011/06/30(木) 12:54:38.53
↑全く教える気が無い奴
740デフォルトの名無しさん:2011/06/30(木) 13:13:05.14
↑当たり前だろバーカwww
741デフォルトの名無しさん:2011/06/30(木) 13:54:33.54
↑教えようにも自分でもよく分らない奴
742デフォルトの名無しさん:2011/06/30(木) 14:44:02.57
↑怒らせると教えてくれると思ってる奴
743デフォルトの名無しさん:2011/06/30(木) 15:13:10.71
↑役に立たない奴
744デフォルトの名無しさん:2011/06/30(木) 15:28:05.43
ガキの喧嘩だな
745デフォルトの名無しさん:2011/07/01(金) 08:11:40.36
↑上から目線の奴
746デフォルトの名無しさん:2011/07/01(金) 08:24:07.12
なんか調べてみたら、あれなんですが -fno-objc-arc かと思いますが。
747デフォルトの名無しさん:2011/07/01(金) 11:41:39.97
ソース毎にコンパイルオプションを別々にする方法がわからんのでは?
748デフォルトの名無しさん:2011/07/01(金) 12:02:08.63
ファイルに対して情報を付加するにはどういうUIを使うかを考えればいいんだよ
749デフォルトの名無しさん:2011/07/01(金) 15:50:24.74
target setting の中の build phase かな。
その中の sources。
750天使 ◆uL5esZLBSE :2011/07/04(月) 12:00:56.41
2011年、Ruby,Perl,PHP,Pythonって並べたときにさ
ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな

放射性廃棄物のほうがマシ
751デフォルトの名無しさん:2011/07/04(月) 12:15:03.12
Rubyは死んだ
752デフォルトの名無しさん:2011/07/04(月) 13:18:05.34
え!ほんと? ちゃんと遺体を確認したの?
753デフォルトの名無しさん:2011/07/07(木) 01:57:02.99
最近Objective-C始めたんですが、クラス継承のしかたって
継承させたいサブクラスの.hファイルに
@interface SubClass : RootClass
でいいんですよね?

これでエラーが出てしまうんですが、コンパイラの不備でしょうか?
754デフォルトの名無しさん:2011/07/07(木) 02:08:52.39
スーパークラスのインポートはしたかい
というかエラー出るならそのエラーを晒せばいいと思うよ
755デフォルトの名無しさん:2011/07/07(木) 05:47:27.28
wコンパイラの不備かよ
756デフォルトの名無しさん:2011/07/07(木) 11:05:36.83
コンパイラの不備なんて簡単に言っちゃうような人はプログラマに向いてないんじゃないか
757デフォルトの名無しさん:2011/07/07(木) 11:09:13.97
コンパイラのせいにする初心者、山ほど見てきたでござる の巻
758デフォルトの名無しさん:2011/07/07(木) 11:11:06.11
次回は
「そんなのどこにも書いてない」
をお送りします
759デフォルトの名無しさん:2011/07/07(木) 11:25:49.04
コンパイラの不備ワロタwww
760デフォルトの名無しさん:2011/07/07(木) 11:48:34.73
私は悪くない。悪いのはコンパイラ。
女かよ
761デフォルトの名無しさん:2011/07/07(木) 12:07:28.45
コンパイラがバグっているなら
みんな合わせるしかないじゃない!
あなたも!私も!
762デフォルトの名無しさん:2011/07/07(木) 12:10:19.28
>>761
コンパイラを直すといういう道も残されてるぞ。
763デフォルトの名無しさん:2011/07/07(木) 12:23:41.84
直せれば、そもそもこんなエラーが出るハズはない...
764デフォルトの名無しさん:2011/07/07(木) 15:56:44.38
>>753
RootClassはNSObject。
それを言うならSuperClass。
765デフォルトの名無しさん:2011/07/07(木) 17:40:04.67
全てのバグを生まれる前に消し去りたい。
すべてのソース、過去と未来の全てのバクを、この手で。
766デフォルトの名無しさん:2011/07/08(金) 04:37:51.35
OSですらバグってるのに
767デフォルトの名無しさん:2011/07/08(金) 12:03:13.03
納期が遅れそうなので
「コンパイラに不備があって・・・」
と言い訳してやったぜ
768デフォルトの名無しさん:2011/07/08(金) 12:26:08.07
そういう使い方があったか...
769デフォルトの名無しさん:2011/07/08(金) 14:08:16.57
客:コンパイラって何?
770デフォルトの名無しさん:2011/07/08(金) 14:12:03.09
コンパイラーV
771デフォルトの名無しさん:2011/07/08(金) 20:01:53.81
客「ならハンドアセンブルしろ。」
772デフォルトの名無しさん:2011/07/08(金) 20:04:21.61
Objective-Cはnullを参照してる変数にたいしてメソッド呼び出ししてもNPE発生せずに
ただその行がスルーされるだけってマジですか?
773デフォルトの名無しさん:2011/07/08(金) 20:12:41.59
ウソです。
774デフォルトの名無しさん:2011/07/08(金) 20:41:33.03
>>772
スルーする訳ではないし、場合によっては期待される値も返す
775デフォルトの名無しさん:2011/07/08(金) 20:49:41.99
>>774
[NULL retain]; が返す期待される値とは?
776デフォルトの名無しさん:2011/07/08(金) 21:48:44.53
にゅるぽ
777デフォルトの名無しさん:2011/07/09(土) 08:54:20.51
>>772
nil に対するメッセージ送信は何もせずに 0 を返すよ。
778デフォルトの名無しさん:2011/07/09(土) 09:49:40.22
>>777
そうとは限らないよ

たとえば
typedef struct {
long long hoge;
long long fuga;
} Hoge;

-(Hoge)method;

をnilに投げたときは何が返ってくるかは未定義
779デフォルトの名無しさん:2011/07/09(土) 10:28:40.24
それはObjCのオブジェクトでない者に、実装のないメッセージを送った場合と言うこと?
780デフォルトの名無しさん:2011/07/09(土) 10:56:36.30
返値の型と大きさ(幅)による
つか
>723-725
781デフォルトの名無しさん:2011/07/09(土) 11:51:40.49
例えば view.bounds は CGRect 構造体を返すけど、view が nil の場合に何が返るかは不明ってこと。
782デフォルトの名無しさん:2011/07/09(土) 22:19:10.00
何やら得体の知れないものが返ってくる可能性があるわけか、はぁクワバラクワバラ...
783デフォルトの名無しさん:2011/07/09(土) 22:46:12.33
そもそもviewの実体が存在しないケースの話だからな
初期化してないポインタ触るのと同じくらい間違った処理
784デフォルトの名無しさん:2011/07/09(土) 23:04:29.37
まぁでも結果を必要としない呼び出しでは便利なこともあるよな。
受け手がnilの場合は無視してくれればいい時は,いちいちif文で
分岐しなくていいし。
785デフォルトの名無しさん:2011/07/13(水) 20:28:17.96
プロトコルの理解についてだが、プロトコル宣言で列挙したメソッドは、そのプロトコルを掲げてるクラスでは絶対に実装する決まり

って理解でOK?

吉野家で例えると、プロトコル”特殊注文”に「つゆだくメソッド」と「ねぎだくメソッド」と「つゆ抜きメソッド」を列挙すれば、
店舗クラス<特殊注文>から生成したインスタンス(お店)では、必ず「つゆだくメソッド」と「ねぎだくメソッド」と「つゆ抜きメソッド」が実装されているので、注文ができる事が保証される。

という仕組みなのかな?
786デフォルトの名無しさん:2011/07/13(水) 21:10:33.86
あってるけど、現状ほとんどオプショナル。
787デフォルトの名無しさん:2011/07/13(水) 22:09:00.82
@optional
- (void)tsuyudakude;
- (void)negidakude;
- (void)tsuyunukide;

@required
- (void)namide;
- (void)oomoride;
- (void)tokumoride;
788デフォルトの名無しさん:2011/07/16(土) 12:18:35.29
>786,787
ありがとう。理解できててよかった。
789デフォルトの名無しさん:2011/07/18(月) 15:36:28.65
なんかMac板のcocoaスレで古いOSの開発者をこき下ろすレスが出まくってるけど、
自分も10.7は見送るからこの閉鎖的な雰囲気が嫌いだなあ。
古いのはユーザーも開発者も切り捨てるのはアップルの伝統だけど、
これからアプリ開発者の間口を広げるにはMS並のサポートが必要だと思う。
.NetFrameworkなんて全てのバージョンが共存可能、実行も可能だし。
790デフォルトの名無しさん:2011/07/18(月) 16:22:37.57
Windows Mobileはバッサリ切り捨てられたって聞いたけど…
791デフォルトの名無しさん:2011/07/18(月) 17:15:25.06
向こうのスレで言えばいいのに、わざわざこっちにまでご苦労様です。
792デフォルトの名無しさん:2011/07/18(月) 17:22:22.84
確かにそうだな。Mac 板の雰囲気なんてどうでも良いし。
793デフォルトの名無しさん:2011/07/18(月) 17:35:48.27
Cocoaスレで袋だたきにされたからって、ここまで来て自分がアホだと披露しなくても良いだろうに。
794デフォルトの名無しさん:2011/07/18(月) 18:18:37.57
>>789
10.7は見送りってお前さん、10.6でも動作確認しなかったんだろ?
ソフトを世に出すってのは相応の責任が発生するもんだ
泣いていないで動作確認頑張れよ
795デフォルトの名無しさん:2011/07/18(月) 21:09:33.92
そこまでは言わない。
「サポートするのは10.5まで」ならそれはそれで全然かまわないと思う。
理由は金がないからでも、10.6や10.7が嫌いだから。でも良いと思う。
それなら潔くサポート範囲を表明して自分のリスクで新しいOSで使うか10.5にとどまるかを
利用者に選択させれば良いだけの話。

業務ソフトでWindows2000で止めてるとか、XPで止めてるとかよく聞く話だ。

796デフォルトの名無しさん:2011/07/19(火) 01:25:48.08
最近Objective-Cを始めたんですが
登録、変更、削除から選んで名前を登録したり検索したりするコンソールアプリを作りたいんですが
参考になるソースやらサイトってありますか?
797デフォルトの名無しさん:2011/07/19(火) 01:40:43.02
ありますん
798デフォルトの名無しさん:2011/07/19(火) 02:13:13.64
>>796
イマイチ何がやりたいのか分からないけど、人名のデータベースを作成したいってこと?
それなら sqlite3 / libsqlite3.dyllib を使うと良いと思います
799デフォルトの名無しさん:2011/07/19(火) 03:49:51.34
>>797
よろしければ教えていただけないでしょうか?

>>798
データベースというか変数に値を持たせて配列の中に格納して
自由に取り出せるようなことをループの中で実現したいんです
800デフォルトの名無しさん:2011/07/19(火) 06:10:09.35
CoreDataかな。サンプルコードを見てみたら。
801デフォルトの名無しさん:2011/07/19(火) 13:27:36.37
>>799
コンソールアプリという言い方はMac OS(で作ろうとしてるんだよね)ではあまりしない。
コマンドラインツールとあコマンドラインアプリとか呼ぶ。コンソール.appってアプリがあるからね。

で、Cの知識等がどのぐらいあるか解らないのでとりあえずのとっかかりだけ。

Xcode 4でNew Project...を選んでMac OSのApplication、 Comman line tool、 CoreDataのテンプレートを
選ぶととりあえずテンプレートが出てくる。これを眺めてみるのが良いんじゃないかな?
CoreDataはちょっとと言う事ならCoreFoundationのテンプレートで。

でも、この手の事をやるのに、コマンドラインツールは「モード」の設計などをループで組んでUI設計する
事になるので結構めんどうだと思いますよ。GUI作るか、データを別に保持して、追加、削除、検索なんかを
別々に持ってしまう方が楽になると思います。

802デフォルトの名無しさん:2011/07/19(火) 18:38:19.21
>>789
Visual Basic 6.0はどうなったのですか。
803 忍法帖【Lv=16,xxxPT】 :2011/07/19(火) 19:12:11.57
>>802
とうの昔にサポート切れ。Windows 7までででランタイムサポートも終了予定
804デフォルトの名無しさん:2011/07/19(火) 20:51:23.50
>>801
>コマンドラインツールは「モード」の設計などをループで組んでUI設計する
>事になるので結構めんどうだと思いますよ。

REPL なんて作るのも使うのも簡単じゃん・・・
805デフォルトの名無しさん:2011/07/19(火) 21:12:09.27
うむ、GUIが不要ならその方がずっと楽だわ。
806デフォルトの名無しさん:2011/07/19(火) 21:35:32.37
GUIはまだわからないのですがNSMutableArrayでもいけますか?
807デフォルトの名無しさん:2011/07/19(火) 21:36:12.06
yes
808デフォルトの名無しさん:2011/07/19(火) 21:41:23.83
>>806
NSMutableDictionary というのもあるよ
809デフォルトの名無しさん:2011/07/20(水) 12:59:27.38
・過疎スレで短時間にレスが集中する
・みんな同調するレスや攻撃対象にアンカーをつけるレスが連続する
・突然レスの投稿が止まり、相手が反応するまで他のレスが無くなる
・一つとして同じIDが存在しない

このようなロジックのプログラムをobjective-cで書きたいのですが、
どうすればよいのでしょうか?
810デフォルトの名無しさん:2011/07/20(水) 13:15:18.22
神になれ
811デフォルトの名無しさん:2011/07/21(木) 16:10:58.07
10.7が動きません。
どうすれば良いのでしょうか?
812デフォルトの名無しさん:2011/07/21(木) 16:17:39.99
神になれ
813デフォルトの名無しさん:2011/07/22(金) 12:14:46.55
何の?
814デフォルトの名無しさん:2011/07/22(金) 19:05:54.03
最近iPhoneアプリの開発を始めました。
以前にC#をやっていて、

enum ColorType
{
RED = 0,
YELLOW,
:
};

static string GetColorTypeText( ColorType colorType )
{
switch (colorType)
{
case ColorType.RED: return "red";
case ColorType.YELLOW: return "yellow";
:
}

return null;
}

という感じのプログラムを良く組んでいました。
#ローカル変数?の参照を返しているので大丈夫か不安でしたが、
#何度実行しても不具合が出なかったので

で、これと同じことをObjective-Cでやったら
ステップ実行したときはちゃんと想定どおり動き、
普通に実行すると強制終了で落ちます。

やっぱり文字列のアドレスを戻り値として返してはいけないのでしょうか?
違いがよく分かりません…。
815デフォルトの名無しさん:2011/07/22(金) 19:18:57.82
そのコードをXcodeでビルドしたって事?
それなら、動くわけないと思うがw
816 忍法帖【Lv=30,xxxPT】 :2011/07/22(金) 19:23:27.03
>>814
C記述の部分は基本Cのままだから一見問題ない。
リテラル文字列はスタックじゃなくて固定領域に確保されるはずだし。
コンパイラの最適化で同じ文字列だと共通化(同一アドレス化)されるからそういうのかな。
817814:2011/07/22(金) 19:33:17.57
>>815
Objective-Cで書いています。
すみません、C#でこういう風に書いてましたーという説明だったので、分かりにくかったですね。
ステップ実行ではきちんと動くので、文法エラーはないです。

>>816
>リテラル文字列はスタックじゃなくて固定領域に確保
そうなんですか!じゃあ大丈夫なはずなんですね。
同じ文字列はないですね、red, yellow, green, という感じでバラバラです。

でも知りたかったのは
>文字列のアドレスを戻り値として返してはいけないのでしょうか?
の部分なので、一応大丈夫だと分かって良かったです。ありがとうございます。
818デフォルトの名無しさん:2011/07/22(金) 20:26:29.99
>>817
強制終了するなら大丈夫じゃないじゃん。
まともなアドバイスが欲しいならちゃんと Objective-C の落ちるコード貼りなよ。

で、iPhone アプリなら C の文字列じゃなくて NSString 使うといいよ。
819デフォルトの名無しさん:2011/07/22(金) 21:29:50.85
てか、C#でもマトモにプログラミング出来てるのか不安w
820デフォルトの名無しさん:2011/07/22(金) 22:12:26.89
なぜかC#のコードを添付。
強制終了したのに原因を特定出来ない。
821デフォルトの名無しさん:2011/07/22(金) 23:55:07.39
>>814
C#では問題ないし、Cでもリテラルを返すだけなら問題ないだろ。
戻りの型はconst char*にするべきだけど。
822デフォルトの名無しさん:2011/07/23(土) 00:08:51.67
何となく C 文字列の話が前提になってるんだけど、
>>814 でも >>817 でも C 文字列なのか NSString なのか一言も書かれてないんだよなあ。

Objective-C のコードを貼ってくれりゃ一発で分かるのに、
回答する側が複数のケースを考えなきゃならんような質問の仕方をなぜするんだろ。
823デフォルトの名無しさん:2011/07/23(土) 00:15:39.84
釣りだろ
824デフォルトの名無しさん:2011/07/23(土) 00:26:00.12
>>796
ばれたか。
825デフォルトの名無しさん:2011/07/23(土) 01:07:09.28
もうこの手の質問への答えは全部「神になれ」でいいよ
エスパーすんのもばかばかしい
826デフォルトの名無しさん:2011/07/23(土) 01:10:14.94
変にかまわず放置しとけよ。
レスがあるだけで喜ぶんだから。
827デフォルトの名無しさん:2011/07/23(土) 16:24:13.56
Automatic Reference Counting どうよ?
828デフォルトの名無しさん:2011/07/23(土) 20:40:45.83
さぁどうだろ?
829デフォルトの名無しさん:2011/07/26(火) 22:51:21.40
最近iOSの開発やり始めたんだけど、一々くだらないとこでつまずくのがこの言語の仕様かい?
830デフォルトの名無しさん:2011/07/26(火) 22:52:07.03
そうだよ
831デフォルトの名無しさん:2011/07/26(火) 22:57:55.10
iOS の開発ってやっぱり Infinite Loop でやってんの?
832デフォルトの名無しさん:2011/07/26(火) 23:31:22.43
失礼、iOSアプリの開発
833デフォルトの名無しさん:2011/07/26(火) 23:41:38.11
そんなのはフレームワークが用意してくれてる
834デフォルトの名無しさん:2011/07/27(水) 13:55:22.80
>>829
はじめてのプラットフォームだとそんなもんだよ
夏休み終わるまでに慣れるといいね
835デフォルトの名無しさん:2011/07/27(水) 14:37:37.32
一々くだらないとこでつまずくくらいの頭なのに、
夏休み終わるまでに慣れるのは無理だろw
836デフォルトの名無しさん:2011/07/27(水) 22:59:39.81
意外とそうでもない
837デフォルトの名無しさん:2011/07/27(水) 23:07:36.20
なぜなら終わらない夏休み
838デフォルトの名無しさん:2011/07/27(水) 23:43:14.34
青春が Infinite Loop
839デフォルトの名無しさん:2011/07/28(木) 00:56:42.55
>>831
近隣に宇宙船作ってInfinite Loopから引っ越すらしいお
840デフォルトの名無しさん:2011/07/28(木) 02:23:09.76
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl.com/43xmk7m
http://tinyurl.com/3mopkfy
841デフォルトの名無しさん:2011/07/28(木) 15:56:28.25
enum cardsuit {
kNSxxxxxxx1
kNSxxxxxxx2,
kNSxxxxxxx3,
};

よくenumの変数名(?)の先頭がkで始まってるを見かけるのですが
これって何か理由があるんでしょうか??
842デフォルトの名無しさん:2011/07/28(木) 16:21:54.59
kは定数を表すプレフィックスじゃね?
843デフォルトの名無しさん:2011/07/28(木) 17:31:13.60
http://www.textdrop.net/google-styleguide-ja/objcguide.xml
命名規則 > 変数名 > 定数
この規約に従うのが一般的な気がする
844デフォルトの名無しさん:2011/07/28(木) 18:05:49.08
Google
kで初めて大文字から始まる単語な。 
例) kWritePerm

Apple Cocoa
関数と同じ。大文字のプレフィクスから初めて大文字から始まる単語な。
例)NSRadioModeMatrix

Apple CoreFoundationあたり
GoogleとApple Cocoaを混ぜたもの。
例) kCFRunLoopRunHandledSource

ピコーン!Appleの比較的新しいのはk無しだな!

Apple CoreGraphic
例) kCGBitmapAlphaInfoMask
Apple CoreImage
例) kCIContextOutputColorSpace;
Apple AV Foundation
例) AVMediaTypeVideo;


Appleには何言っても無駄だw
845デフォルトの名無しさん:2011/07/28(木) 19:34:58.66
>>841
konstantのkでしょ。数学でもよく使う。
あとFortranだとI〜Nで始まる変数のimplicit typeはintegerなので
kは整数型も連想させる。
846デフォルトの名無しさん:2011/07/28(木) 20:42:27.83
lはlongのlだな
847デフォルトの名無しさん:2011/07/28(木) 21:28:36.52
MBA新型買ったから、iPhoneアプリ開発をしてみようっていう、プログラミング経験ゼロの開発初心者ってどれくらい居る?
848デフォルトの名無しさん:2011/07/28(木) 21:29:32.89
プログラマの数と同じだけ存在したよ。
849841:2011/07/28(木) 22:17:48.24
定数の意味だったんですね。ありがとうございます。
かっこ良く感じたんで今後は自分もそうします。
850デフォルトの名無しさん:2011/07/28(木) 23:18:03.28
>>847
xcodeを入れようとしてSSDの容量不足であきらめる人ならだいぶいそうだけど。
851デフォルトの名無しさん:2011/07/28(木) 23:19:23.84
定数の最初に k つけるのって、元はPowerPlantの習慣だったような気がするけど、違ったっけ。
852デフォルトの名無しさん:2011/07/29(金) 00:58:00.91
nuclear plant
853デフォルトの名無しさん:2011/07/29(金) 13:12:45.52
854デフォルトの名無しさん:2011/07/29(金) 23:28:06.58
どうも Carbon を引き摺っている感じがして余り好きじゃないな
Carbon が嫌いな訳じゃなくて、異種混交なのが美しくないと思う
855デフォルトの名無しさん:2011/07/30(土) 00:16:36.83
全部大文字がナウだよね。
856デフォルトの名無しさん:2011/07/30(土) 00:28:38.62
えっ、むしろ全部大文字が嫌だからk+キャメルケースにしてんだろ
857デフォルトの名無しさん:2011/07/30(土) 00:31:30.70
あっ、そうなの?w
858デフォルトの名無しさん:2011/07/30(土) 00:34:58.81
k とか m とか f とか、勘弁して欲しいわぁ
859デフォルトの名無しさん:2011/07/30(土) 00:39:14.63
全部大文字って打ちにくい&読みにくいじゃん
860デフォルトの名無しさん:2011/07/30(土) 00:42:41.48
const かどうかなんて定義を見れば良い話
861デフォルトの名無しさん:2011/07/30(土) 01:10:11.19
プレフィックスでスコープを明示するのはけっこう好き。

862デフォルトの名無しさん:2011/07/30(土) 01:18:17.94
結局ローカルルールで終わるイメージのスタイル
863デフォルトの名無しさん:2011/07/30(土) 01:41:06.39
https://github.com/petejkim/ConciseKit

これ良さげだね
次に ObjC でアプリを作る時は絶対これ使うわ
864デフォルトの名無しさん:2011/07/31(日) 17:20:50.84
作ったアプリが全然売れんぞ! どういうことだ!
865デフォルトの名無しさん:2011/07/31(日) 19:43:25.93
>>864
おまえが糞なんだよ
APじゃなくて、おまえがな
866デフォルトの名無しさん:2011/07/31(日) 20:01:33.17
ははぁ、どおりで...┐(´ー`)┌ マイッタネ♪
867デフォルトの名無しさん:2011/08/04(木) 21:36:22.03
dateWithStringって、どのクラスのメソッド?
NSDateで使えるのに、NSDateクラスのヘッダファイルに定義されていないのは何でだろう???もっと上の親クラスのメソッドってこと?
知っている人います?
868デフォルトの名無しさん:2011/08/04(木) 22:52:43.72
ちょっと教えてください。
Xcode4.1をインストールしたら表示言語が英語になってるんですけど、
これって日本語に切り替えれるんでしょうか?
それとも、英語のままですか。

ちなみにobjective-c以前にmac初心者です。
869デフォルトの名無しさん:2011/08/04(木) 22:59:29.07
出来ない。
870デフォルトの名無しさん:2011/08/04(木) 23:02:33.29
>>868
ついてこれるやつだけついてこい。
そういうこと。
871デフォルトの名無しさん:2011/08/04(木) 23:38:43.17
>>867
NSCalendarDate.h に定義されてるじゃまいかの英雄ウサイン・ボルト
872デフォルトの名無しさん:2011/08/05(金) 00:02:38.54
ってかリファレンスで調べればすぐわかるだろうに
873デフォルトの名無しさん:2011/08/05(金) 00:33:06.84
その前にカテゴリの知識がいるな。
874デフォルトの名無しさん:2011/08/05(金) 17:36:51.47
お世話になっております。
868です。

869さん、870さん、ありがとうございました。

話は変わるんですけど、xcode4の実行ファイルってどこにできるんでしょうか?
build/Debug以下にできるものばかりだと思っていたんですけど、
このディレクトリすらできていないです。。。。

プロジェクトのタイプはcommand line Tool、foundationで特に設定はいじっていない状態で、
runやらBuild for ....を実行しただけの状態です。(Build Succeeded と表示はされています。)
875デフォルトの名無しさん:2011/08/05(金) 17:41:17.31
Preferences -> Locations -> Derived Data
876デフォルトの名無しさん:2011/08/05(金) 17:54:17.54
そんなところに出来るのか
面倒くさいからxcodebuildでビルドしていつもどおりのbuildディレクトリから取り出してるわw
877デフォルトの名無しさん:2011/08/05(金) 18:45:02.39
お世話になっております。
868です。

875さん。

Relativeに変更したら、ワークスペース以下のディレクトリに実行ファイルができるようになりました!!!

本当にありがとうございました。
878867:2011/08/05(金) 19:36:39.78
>>872
リファレンスでは、iOSのCoreLibraryのリファレンスでは、メンバメソッドになっていなかった。MacOSX10.7のCoreLibraryのリファレンスではメンバメソッドの記述があった。
iOS用アプリ作る時と、MacOSX用作る時で、書き方を変えなければいけないのかな?

>>873
カテゴリの知識、ググッてきます。
879デフォルトの名無しさん:2011/08/06(土) 09:59:27.61
Xcode4の日本語対応っていつよ?
880デフォルトの名無しさん:2011/08/06(土) 10:19:45.93
スレチ
881デフォルトの名無しさん:2011/08/07(日) 07:00:36.70
優秀なプログラマーになるには他人のコードを読む事。に習って
優秀なobjCプログラマーのコードを読みたいんですが
どれ読めばいいと思いますか?
882デフォルトの名無しさん:2011/08/07(日) 07:06:55.24
883デフォルトの名無しさん:2011/08/08(月) 13:46:08.05
ObjectiveCをいじると
ビビディバヴィデヴーになるね
884デフォルトの名無しさん:2011/08/08(月) 16:17:11.08
>>881
apple developer centetのSample
885デフォルトの名無しさん:2011/08/09(火) 00:24:40.68
Centet : Quinted : Printin
886デフォルトの名無しさん:2011/08/09(火) 22:58:49.99
どなたかご教示ください。

bluetooth(ブルートゥース)を使って、AndroidとiPhone間を通信させたいのですが、
技術情報や実現している参考アプリを教えて頂ければと助かります。

英語サイトでも結構です。

とても困っています。よろしくお願いいたします。
887デフォルトの名無しさん:2011/08/09(火) 23:00:14.21
スレチ
888デフォルトの名無しさん:2011/08/09(火) 23:46:14.82
>>886
bump?
889デフォルトの名無しさん:2011/08/10(水) 01:05:32.07
>>888
of?
890デフォルトの名無しさん:2011/08/10(水) 02:54:42.68
>>889
chicken!
891886:2011/08/10(水) 08:55:06.18
>>888
ネット環境やwifi環境がないところで、AndroidとiPhone間で情報のやりとりを行いたいのです。
bumpはbumpサーバーを通すので、ネット環境がないと使用できないことに気づき、
困っております。

英語サイトでも良いので、サンプルがあれば手がかりになるですが、現状見つからず。

いきなりで大変恐縮ですが、お力をかして頂ければと思います。
よろしくお願いいたします。
892デフォルトの名無しさん:2011/08/10(水) 09:54:38.18
マルチ氏ね
893デフォルトの名無しさん:2011/08/10(水) 15:18:55.41
894デフォルトの名無しさん:2011/08/11(木) 20:37:39.95
ObjectiveCで正規表現を使って特定の文字列を変換したいのですがどうすれば出来るでしょうか?

私はAさんが好きです

私はAくんが好きです

Regex.replaceのようなメソッドがあるのでしょうか?
895デフォルトの名無しさん:2011/08/11(木) 20:42:40.79
>>894
リファレンス見れば?
見ずに聞いてるのがバレバレ
896デフォルトの名無しさん:2011/08/12(金) 00:31:11.80
リファレンスってどこにあるのでしょうか?
897867:2011/08/12(金) 00:38:56.69
>>896
ローカルで見るなら、xcodeからDL。もしくはオンライン。
898デフォルトの名無しさん:2011/08/12(金) 00:39:41.15
なぜ、「Objective-C 正規表現」とかでググってみようとしないのだろうか。
なぜそうしないのか、俺にはさっぱり理解できない。
899デフォルトの名無しさん:2011/08/12(金) 00:43:23.97
代わりにググってみたが、うどん食いたくなった
900デフォルトの名無しさん:2011/08/12(金) 00:56:06.34
ググってもたいした解説なのは出てこないしreplaceとかは出てこないな
正規表現ならObjective-C以外のサイト見た方がいいかもね
901デフォルトの名無しさん:2011/08/12(金) 01:09:17.77
[Cocoa 正規表現]とかググれば使えそうなライブラリいくつか見つかるけど。
902デフォルトの名無しさん:2011/08/12(金) 02:14:32.43
誰かいるかなあ、ここで質問してもいいのだろうか。

画像周りのメモリ管理に数日ハマってて、releaseやらretainやら・・・。

[UIImage isKindOfClass:] message sent to deallocated instance 0x○○○・・・

これが何が何だかよくわからなくて質問させて頂きました。
903デフォルトの名無しさん:2011/08/12(金) 02:16:58.45
>>902
それ、解放済みのオブジェクトにアクセスしてるんじゃないの
904デフォルトの名無しさん:2011/08/12(金) 02:18:20.01
君はGCかARC使ったほうがいい
905デフォルトの名無しさん:2011/08/12(金) 02:45:47.44
>>903
ありがとう。

それとなく、そうなのかなとは感じていたのだけど
[UIImage isKindOfClass:]ってところにどうも引っかかってて。

もう一度、目的を絞って考えてみるよ。
906デフォルトの名無しさん:2011/08/12(金) 02:50:06.38
>>904
UIImageはiPhoneなのでGCはなく、ARCは5からだから、、、
とりあえず、>>902は自分の書いている通りreleaseやらretainやらではまってるんで
その方向であがくしかないんじゃないかな?
そのUIImageがdeallocateされてると書いてあるので、既にどこかでreleaseされてる。
907デフォルトの名無しさん:2011/08/12(金) 02:54:19.94
ARCは4でも使えるぞ
908デフォルトの名無しさん:2011/08/12(金) 16:20:25.71
>>900-901

標準ライブラリに、NSRegularExpression っていう正規表現用のクラスがあって、置換用のメソッドもある。
ググればすくに見つかる。

馬鹿なの? 情弱なの?
909デフォルトの名無しさん:2011/08/12(金) 17:05:36.76
Available in iOS 4.0 and later.
Available in Mac OS X v10.7 and later.
910デフォルトの名無しさん:2011/08/12(金) 17:40:37.06
おいおい、もうすぐiOS5.0が出るってときに、それがどうした。
今の最新はiOS4.3だし、iOS4.0が出たのなんてもう1年以上前だぞ。 
OSのバージョンアップの仕方も知らない情弱なんか切り捨てろ!
911デフォルトの名無しさん:2011/08/12(金) 18:15:28.23
iOSはともかくMac OSで10.7はまだ依存するには早いだろ。
912デフォルトの名無しさん:2011/08/12(金) 18:26:00.65
ググりもしない馬鹿のことはもういいじゃないか。
913デフォルトの名無しさん:2011/08/12(金) 18:29:55.42
Mac OS用なら、正規表現のライブラリなんていくらでもあるだろ。
これでも使ってろ。 Google様がお造りになられた代物だぞ。

ttp://code.google.com/p/re2/
914デフォルトの名無しさん:2011/08/12(金) 19:35:59.72
>>907
あら、そーなの?
確かにARCはllvm clangなら理屈としては使えるけど、そーだとしたらSnowLeopardでも使えそうよね。
そうでないとエミュレータでデバッグできない(エミュレータのコードはIntelコードだし)。
915デフォルトの名無しさん:2011/08/12(金) 19:42:43.45
>>907
weak referenceは駄目だけどね。
916デフォルトの名無しさん:2011/08/12(金) 20:30:16.55
ARC、たまに変な動作するんで使いづらい。
917デフォルトの名無しさん:2011/08/12(金) 21:59:07.31
>>914
10.6 でも使えるよ。 >>915 の言うように weak refrence は駄目だけど。

Programming With ARC Release Notes に以下のように書いてある。

You enable ARC using a new -fobjc-arc compiler flag. ARC is supported
in Xcode 4.2 for Mac OS X v10.6 and v10.7 (64-bit applications) and
for iOS 4 and iOS 5. (Weak references are not supported in Mac OS X
v10.6 and iOS 4). There is no ARC support in Xcode 4.1.


ただし 10.6 用の Xcode 4.2 に入っている SDK が ARC 対応じゃないので、
10.7 の Xcode 4.2 を使って build する必要がある。
918デフォルトの名無しさん:2011/08/12(金) 22:04:17.48
>>916
たとえばどんな?
さっさとARCに移行しようと思っているので気になる。
919デフォルトの名無しさん:2011/08/13(土) 11:49:34.78
>>917
了解、サンクスでした。

でも、weakが使えないと循環参照問題が出たりしそうなので、私はそこまでしては使わないかな。
そのへん意識しないと使えないならそもそもの >>902 はやっぱりまじめにreference counting
理解するようにしたほうが良いと思う。
920デフォルトの名無しさん:2011/08/14(日) 15:12:52.11
@public な変数と、@property の使いわけに悩みます。
判断の基準とかありますか?
921デフォルトの名無しさん:2011/08/14(日) 15:39:03.63
@public は使うな。以上
922デフォルトの名無しさん:2011/08/14(日) 16:36:16.58
できれば理由をお願いしまする。
923デフォルトの名無しさん:2011/08/14(日) 17:06:15.50
カプセル化でググれ
924デフォルトの名無しさん:2011/08/14(日) 17:12:30.11
なんでもかんでも頑なにカプセル化すればいいってもんでもないだろ。
Java厨かよ。
925デフォルトの名無しさん:2011/08/14(日) 17:20:01.77
データ格納目的の単なる構造体的な使い方をする場合は、@publicでいいと思うよ。見通しもいいし。
クラスとして使う場合は、やはりプロパティとして公開した方がいいだろうな。
926デフォルトの名無しさん:2011/08/14(日) 17:30:37.19
大量にアクセスする場合は、速度優先であえてプロパティにしないという選択もあるな。
927デフォルトの名無しさん:2011/08/14(日) 17:38:43.51
そんなことして有意な差が出るほど大量のObj-C オブジェクトを作る時点で間違い。
928デフォルトの名無しさん:2011/08/14(日) 17:43:21.82
なぜ、大量のアクセス = 大量のオブジェクト という発想になるんだろうか?
929デフォルトの名無しさん:2011/08/14(日) 17:49:23.17
ありがとうございました。基本的にはプロパティで公開ということでよさそうですね。
930デフォルトの名無しさん:2011/08/14(日) 18:07:43.73
少数のオブジェクトに大量アクセスなら、それこそ酷い設計だろ。
931デフォルトの名無しさん:2011/08/14(日) 18:19:13.40
凝り固まりすぎ。想像力を働かせてみて。もっとこう頭を柔軟に!柔軟に!
シミュレーションのプログラムとか作ったことないの?
試しにオセロゲームとかつくってみるといいよ。
932デフォルトの名無しさん:2011/08/14(日) 18:51:44.70
インスタンス変数のプレフィックスって変数の末尾に_入れてますか?
それともAppleの命名規則を無視して先頭にしてますか?
933デフォルトの名無しさん:2011/08/14(日) 19:13:10.07
俺はGoogleのコーディング規約に従って、後ろにアンダースコア(_)をつけてるな。
後ろだから、プレフィックスじゃなくて、サフィックスか。
934デフォルトの名無しさん:2011/08/14(日) 19:19:36.19
末尾にプレフィックスはないわー
935デフォルトの名無しさん:2011/08/14(日) 23:15:07.40
末尾にアンダースコアはunix系のC++の習慣だな。
気持ち的には先頭につけたかったんだろうけど。
936デフォルトの名無しさん:2011/08/15(月) 01:36:18.85
は?
先頭にアンダースコアはAppleが使っているから、衝突避けるために
お前らアンダースコア使うんじゃねーぞって、Appleが言ってんじゃん。
937デフォルトの名無しさん:2011/08/15(月) 02:37:01.95
でもXcode4のテンプレコードって @synthesize window=_window みたいになってるよね。
938デフォルトの名無しさん:2011/08/15(月) 02:40:48.24
そろそろ ObjC にも名前空間を導入して欲しいなあ...
939デフォルトの名無しさん:2011/08/15(月) 04:51:03.75
ランタイムに手を加えまくることになるし、速度が犠牲になる。
940デフォルトの名無しさん:2011/08/15(月) 04:52:23.33
>>931
オセロシミュレートなんてレベルで、プロパティ・アクセスのオーバーヘッドが表に出るわけ無いだろ。
大丈夫か?
941デフォルトの名無しさん:2011/08/15(月) 09:21:19.96
>>937
Apple様がお造りになられるコードは頭にアンスコでいいんだよ。
942デフォルトの名無しさん:2011/08/15(月) 10:21:46.62
>>941
テンプレコードはユーザが書くコードの出発点じゃんか。
そこでいきなり規約外ってのもどうかと思うけどね。
943デフォルトの名無しさん:2011/08/15(月) 11:54:21.24
Apple様はアンスコを頭につけていいわけだから、規格外じゃないだろ。
お前らが追加するコードは頭にアンスコつけちゃダメだけどな。
944デフォルトの名無しさん:2011/08/15(月) 12:35:41.72
規格が何を指すのかが問題な気がする。マイクロソフトのサイトの記述だけど、
C90、C99、C++でのアンダースコアの扱いについて述べられている。
ttp://msdn.microsoft.com/ja-jp/library/cc440188%28VS.71%29.aspx

それとは別に、以下のAppleによるドキュメントではObjective-Cの命名規則について説明されているが、
アンダースコアに関してはメソッド名にのみ言及している。
ttp://developer.apple.com/jp/documentation/cocoa/Conceptual/ObjectiveC/Articles/chapter_950_section_12.html#//apple_ref/doc/uid/TP30001163-CH3-TPXREF108

ということで、メソッド名に関してはAppleの言うことに従って、
それ以外はベースとなるC言語の規約に従うのが筋だと思う。
945デフォルトの名無しさん:2011/08/15(月) 12:41:49.87
Apple様の教義に逆らうと髪の毛が生えてくる呪いにかかります
946デフォルトの名無しさん:2011/08/15(月) 12:58:28.27
ここは素直に、Google様の規約に従っておくべきだろうな。

ttp://www.textdrop.net/google-styleguide-ja/objcguide.xml

947デフォルトの名無しさん:2011/08/15(月) 14:02:09.23
そもそも変数にアンダースコアのプレフィックスなりサフィックスなり付けたい理由ってなんなん?
948デフォルトの名無しさん:2011/08/15(月) 14:08:18.19
これはメンバ変数だよって一目でわかるから。
Windowsプログラマは、頭にmとかつけるな。
949デフォルトの名無しさん:2011/08/15(月) 14:47:47.03
この手の話題は宗教戦争みたいになるから
別スレでやってください
950デフォルトの名無しさん:2011/08/15(月) 22:23:48.75
一般的には、変数に対しては接頭語として oppai を使用する事が推奨されます。
951デフォルトの名無しさん:2011/08/15(月) 22:40:11.73
なるほど!実践してみる
952デフォルトの名無しさん:2011/08/15(月) 22:45:03.84
>>951
はい!是非有効に活用してくださいね!!
953デフォルトの名無しさん:2011/08/15(月) 23:24:00.62
chinkoじゃ駄目なのか、、、、orz
954デフォルトの名無しさん:2011/08/15(月) 23:30:57.73
グローバル変数…w
955デフォルトの名無しさん:2011/08/16(火) 00:47:08.46
oppai派、OPPAI派、接尾語のoshiri派と、宗教戦争みたいになるから
別スレでやってください
956デフォルトの名無しさん:2011/08/16(火) 01:59:59.33
宗教戦争みたいになってる方がまだマシのような・・・
957デフォルトの名無しさん:2011/08/16(火) 02:32:08.60
>>955
chinko派も入れたげてw
958デフォルトの名無しさん:2011/08/16(火) 03:23:49.20
結論はアンスコを被るのも履くものどっちも変態ってことで良いのか?
959デフォルトの名無しさん:2011/08/16(火) 08:57:06.98
スレのレベル低すぎw ワロタ
960デフォルトの名無しさん:2011/08/16(火) 09:35:36.79
夏だからな
961デフォルトの名無しさん:2011/08/17(水) 20:18:45.40
大津さんの iOS プログラミング入門 p99-102 を読んでいるのですが、
以下のようなプログラムを書きました。

1:NSDate *myDate = [[NSDate alloc] init ];
2:NSLog(@"myDateの参照カウンタ=%lu", [myDate retainCount]);
3:[myDate release];
4:NSLog(@"myDateの参照カウンタ=%lu", [myDate retainCount]);
5:if (myDate == nil) {
6:  NSLog(@"myDateはnilです");
7:} else {
8:  NSLog(@"myDateはnilじゃない");
9:}

実行結果:
myDateの参照カウンタ=1
myDateの参照カウンタ=1
myDateはnilじゃない

私の想定としては、3行目で myDate を release しているので、
myDate の参照カウンタは 0 になり、
4行目の結果は 0 となると思っていたのですが, 1 のままです。

1のままだから、5行目以降の判定も nil じゃないのだと思います。

この myDate は、いつメモリからクリアされるのでしょうか?
962デフォルトの名無しさん:2011/08/17(水) 20:54:32.74
>>961
3行めの release でオブジェクトは破棄されてる。
破棄されたオブジェクトにアクセスしてはいけないので、4行めの retainCount は未定義動作。
オブジェクトを破棄しても、それを指していたポインタ変数 myDate の値は変わらないので、myDate == nil にはならない。
963デフォルトの名無しさん:2011/08/17(水) 22:52:46.70
汝、retainCountを数える事なかれ
そは、理を知り真理に触れし者のみが振える御技
汝、オーナーシップの本質を見よ
そは、相反する一対の調和を守る事也
allocにはreleaseを。copyにはreleaseを。retainにはreleaseを。

アーメン
964デフォルトの名無しさん:2011/08/17(水) 23:17:36.80
@property(nonatomic, retain) ほげほげ *ふが;
@synthesize ふが;

self.ふが = [[[ほげほげ alloc] init] autorelease];
self.ふが = nil;

が最強だと思うけどどうよ。ペアを探す神経衰弱から解放される。

もちろん本当にパフォーマンスとか使用メモリ重視のところは別途考えるとして。
965デフォルトの名無しさん:2011/08/17(水) 23:23:30.55
日本語は変数名に使えないよ。
966sage:2011/08/18(木) 00:33:46.46
NSStringを返却するメソッドで、Analizerを実行すると、以下のエラーが表示されます。
「Potential leak of an object allocated on line 25 and stored into 'str'」
どこでreleaseをすれば良いのでしょうか?

=== main.m ===
StringTest* strTest = [StringTest alloc];
NSString* str = [strTest testString];
NSLog(@"[%@]", str);
[strTest release];
}

=== StringTest.m ===
- (NSString* )testString {
  int num = 4;
  NSString* str = [[ NSString alloc ] initWithFormat:@"数は%dです", num];
  return str;
}
967デフォルトの名無しさん:2011/08/18(木) 00:35:39.12
return [str autorelease];
968デフォルトの名無しさん:2011/08/18(木) 00:39:47.20
何を実現したいかの要求仕様がよく分からないけど、
自分なら str を StringTest クラスのメンバ変数にして、
StringTest クラスの dealloc の中で面倒見るかな
969デフォルトの名無しさん:2011/08/18(木) 00:44:53.02
カベジコレクションを使わないなら

オーナーシップポリシー
メインループ
AutoreleasePoolの動き

最低限は抑えとこうね。
970デフォルトの名無しさん:2011/08/18(木) 00:52:34.02
>>967
ありがとうございます。
ご指摘の通り、autoreleaseを追加することで、対応できました。

>>968
通常は、メンバ変数にするのですね。。
ご指摘ありがとうございます。

>>969
無知で申し訳ないです。
AutoReleasePool、メインループなどはまだ不勉強なので、これから勉強します。
ありがとうございました。
971961:2011/08/18(木) 01:40:28.49
レスどうもありがとうございます。
>>962
> 破棄されたオブジェクトにアクセスしてはいけないので、4行めの retainCount は未定義動作。

C言語でも、free()した後、そのメモリがいつクリアされるかは処理系依存で、
free()した直後にアクセスしていても内容は残っている(でもfree()した後の変数へのアクセス結果は未定義動作)
というのがあったと思いますが、 >>961 で [myDate retainCount] しても1が残っているのはそういうことでしょうか?

また、
> オブジェクトを破棄しても、それを指していたポインタ変数 myDateの値はかわらない

C言語でも

char *str = (char *)malloc(100);
gets(str);
free(str);

ここでstrはfreeされたけど、strのアドレスが格納されている *str というポインタ変数には
値が残っているのと同じでしょうか?

# C言語の知識が生半可なので間違っていたらすみません。
972961:2011/08/18(木) 01:44:21.99
あと、release = free というわけではないのですよね。
>>963, >>969 でオーナーシップが出てきましたが、
release は、参照カウンタ(オーナーシップ)の数を減らすだけで、
release で参照カウンタが0になったとき、内部では同時にfree()が起きる?

Linuxのファイルシステムで、1つのファイルに複数のハードリンクを張ったあと、
1つ1つ rm していって、最後に rm したら、ハードリンクされた数が0になるので
inodeからも削除される、みたいに。
973 忍法帖【Lv=40,xxxPT】 :2011/08/18(木) 02:16:15.75
デバッグ用の環境でメモリ確保毎に別ページに確保して、
開放したあとにメモリアクセスするとページフォルト発生させるやつとかなかった??
974デフォルトの名無しさん:2011/08/18(木) 05:38:29.30
>>970
>通常は、メンバ変数にするのですね。。

str が一時的な値なら、メンバ変数にはしません。autorelease が正解です。
975デフォルトの名無しさん:2011/08/18(木) 05:50:59.21
>>971
>C言語でも、free()した後、そのメモリがいつクリアされるかは処理系依存で、
>free()した直後にアクセスしていても内容は残っている(でもfree()した後の変数へのアクセス結果は未定義動作)

C でも、free() したメモリへのアクセスは明確にバグです。

>というのがあったと思いますが、>>961 で [myDate retainCount] しても1が残っているのはそういうことでしょうか?

未定義動作(バグ)ですから、何が起きても文句は言えません。クラッシュするかもしれないし、もっとひどいことが起きるかもしれない。1 が返ってきたのはたまたまにすぎません。

>ここでstrはfreeされたけど、strのアドレスが格納されている *str というポインタ変数には
>値が残っているのと同じでしょうか?

です。ポインタと、それが指すものは別ですから。

>>972
>release は、参照カウンタ(オーナーシップ)の数を減らすだけで、
>release で参照カウンタが0になったとき、内部では同時にfree()が起きる?

です。

で、自分がオーナーシップを持ってない、かつ、他から借りてるわけでもないオブジェクトへのアクセスは、バグってこと。
976デフォルトの名無しさん:2011/08/18(木) 06:31:18.30
未定義動作をバグと言い換える意味がないというか、意味が違う。
977デフォルトの名無しさん:2011/08/18(木) 07:08:09.03
未定義動作に何かしらの期待をする事はバグの原因っていう感じでしょ。
978デフォルトの名無しさん:2011/08/18(木) 11:05:12.08
未定義動作そのものはバグではないから
「未定義動作(バグ)」と書くと誤解を招く

未定義動作の操作を実行した結果
たまたま動くときと動かないときがあって
それをバグ(の一種)と言う
979デフォルトの名無しさん:2011/08/18(木) 12:09:10.38
猿は黙ってautoreleace
980デフォルトの名無しさん:2011/08/18(木) 12:14:13.44
細けぇ奴だな。 
>>961 のコードは明らかにバグだろうが。

ゼロデバイドはバグではありません。
未割当の変数へのアクセスはバグではありません。
配列範囲外へのアクセスはバグではありません。

その操作の結果がバグの一種なのです。とか言い張ってそうだな。
981デフォルトの名無しさん:2011/08/18(木) 13:32:35.21
阿呆言う香具師が阿呆
982デフォルトの名無しさん:2011/08/18(木) 14:42:40.27
猿は黙ってARC
983961, 971:2011/08/18(木) 18:22:20.36
レスどうもありがとうございます。
C だと free() した後の動作は保証されないし、そもそもするなというのはわかります。
(自分でもCを書くときはそうしている)

Objective-C の場合、[hoge release]; をした場合、
ほかにもオーナーシップを持っている人がいて、
参照カウンタが1下がっただけでまだ生き残っているのか、
0 になったから解放された(or 解放されるマークがついた)のかがわからないのではとおもいます。

こういうシチュエーションがあるかどうかはわからないけど、
[hoge rekease]; したあとに、
if (まだ hoge が生きている) {
 // ある処理をしたい
} else {
 // いなくなったので、別の処理をしたい
}

といった判定をしたくなるようなことはないかと思って。
984デフォルトの名無しさん:2011/08/18(木) 18:28:06.86
自分はもう使わないから、releaseしたんだろ。
まだ使うんだったら、使い終わってからreleaseするか、
もう一度retainしてから使えよ。

985デフォルトの名無しさん:2011/08/18(木) 18:29:41.89
>>983
そういう事が必要なシチュエーションはちょっと思いつかないけど、
releaseする直前に参照カウントをチェックすればいいんじゃね?

986デフォルトの名無しさん:2011/08/18(木) 18:35:35.28
あぁ、いったんdealloc されたオブジェクトをretain するのはご法度な。つか出来ない。

987デフォルトの名無しさん:2011/08/18(木) 18:38:33.84
988デフォルトの名無しさん:2011/08/18(木) 18:39:05.27
そもそも参照カウントってランタイムのためにあるんであって、
利用者のためにあるわけじゃないと思うな。
989961, 971:2011/08/18(木) 19:11:46.40
>>961 について少し実験してみたのですが、
release して明らかに参照カウンタが 0 になったとしても、
同じスコープ(同一メソッドの中)だと生き残っている(ように見える)けど、

スコープが切り替わる
# 呼出元メソッドと呼出先メソッド両方にオブジェクトの参照を
# 渡しておいて、呼出先で release したあと、呼出元で触ってみる
と、エラーが出るようになりました。
スタックが1つ減ったので解放されたのかな。

***

>>984
そういわれると、そんな気がしてきた。
自分のメソッド内で使うんだったら直前で release なんかしない気がする。

>>988 そういうものなのですか。
>>961 で書いた「iOS プログラミング入門」で出てきたので、
これを使ってメモリ管理すべきなのかと思っていました。
>>963 のようなこともあるので、
自分にとっては「触らないもの」という認識ですっきりしたので、
1000も近いことだし、これで終わりにします。
いろいろ教えていただいて、どうもありがとうございました。
990デフォルトの名無しさん:2011/08/18(木) 19:40:05.34
reaintCount が0になって破棄しようとしているオブジェクトの
retainCountにわざわざ0を代入するようなこともしないだろ。
もうそのオブジェクトにアクセスされることは想定していないのだから。

deallocされたオブジェクトにアクセスしてたまたま何かが返された
としても、それはたまたまにすぎない。ゾンビの幻影だよ。
991デフォルトの名無しさん:2011/08/18(木) 20:17:40.53
くだらないことを調べているヒマがあるならappleのドキュメントを150万回読んどけ
992デフォルトの名無しさん:2011/08/18(木) 20:21:07.51
retain/releaseは、保持する/もういらないをランタイムに伝えるためのモノであって、
それを表現するためにたまたま内部的に参照カウントを使っているだけだべ。

993デフォルトの名無しさん
1回5分で読んだとしても、不眠不休で15年近くかかるな。