[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 12:16 / Filesize : 248 KB / Number-of Response : 975
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Objective-C [ObjC part:4];



1 名前:デフォルトの名無しさん [2009/04/15(水) 00:11:00 ]
Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
 (Wikipedia:ja.wikipedia.org/wiki/Objective-C より)

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

385 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 17:59:46 ]
>>383
ぎゃー、すでに変更し始めてました。
ちょっとバックアップファイルから復元して@classでやってみます。

386 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 18:04:48 ]
>>385
Objective-Cに興味があってこのスレ見てるけど、コードを書いた事が無いのにレスした俺のせいでスマン…

387 名前:デフォルトの名無しさん [2009/10/14(水) 18:13:47 ]
@classで一瞬で解決しましたw
ありがとうございました!

>>386
なんという・・・w

388 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 18:48:20 ]
>>386
>Objective-Cに興味があってこのスレ見てるけど、コードを書いた事が無い
なんだ、俺は他にもいたのか

389 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:15:20 ]
一度くらい書けよw

390 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 10:51:48 ]
cat > hello.m
#include <stdio.h>
int main(int argc, char*argv[]){printf("Hello world.\n");return 0;}

^D

make hello
./hello

サフックスが.mだからObjCとしてコンパイルされます!
これでObjCプログラマの仲間入りです!


391 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 11:06:11 ]
それでいいなら俺も書いた事あるぜ!w

392 名前:デフォルトの名無しさん [2009/10/16(金) 00:58:07 ]
NSStringの中に文章が入っているのですが、その中にあるURLをリンクに置換したいと考えています。
例えば文章の中に
www.google.co.jp/
のようなアドレスがあれば、
<a href="http;//www.google.co.jp/>http;//www.google.co.jp/</a>
のように置換したいのですが・・・やり方がいまいちわかりません。
とりあえずNSStringのメソッドを見る限りだと無理で、NSMutableStringのメソッドを見る限りだと、
replaceOccurrencesOfString:withString:options:range:のようなメソッドがあったのですが、
正規表現が使えるのか不明です。何かいい方法はないでしょうか?

393 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:04:28 ]
regex(3)



394 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:49:26 ]
>>392
ありがとうございます。
RegexでググったらRegkit liteというのがあったのでそれを使いました。
ただ、URLのマッチングが上手くいかないので見ていただけないでしょうか・・・


NSString *searchString = @"I like www.google.co.jp/ yeah!!";
NSString *regexString = @"(|https://){1}[\\w\\.\\-/:\\#\\?\\=\\&\\;\\%\\~\\+]+";
NSString *replaceWithString = @"<a href=\"$1\">$1</a>";
NSString *replacedString = NULL;
replacedString = [searchString stringByReplacingOccurrencesOfRegex:regexString withString:replaceWithString];

これで置換した結果が、
I like <a href="http://"></a> yeah!!
になります。www.google.co.jp/が消えてしまってるのですが、何が間違ってるのでしょうか?



395 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 02:01:15 ]
謎ですね。http://しかマッチしていないなら
I like <a href="http://"></a>google.co.jp yeah!!
になりそうなんですけどね・・・

396 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 02:05:04 ]
そのライブラリは知らないけど、普通はカッコで囲ってるところしかキャプチャされないのでは?

397 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 02:25:22 ]
NSString *regexString = @"(https?://[a-zA-Z\.\-\#\?\=\&\;\%\~\+]+)";

でいいんじゃないの

398 名前:デフォルトの名無しさん [2009/10/16(金) 02:44:41 ]
括弧で囲ってるところしかキャプチャされないんですか・・・
無事マッチできました。ありがとうございました!

399 名前:デフォルトの名無しさん [2009/10/17(土) 05:37:25 ]
次のようなプログラムを動かすと配列0番目を参照してるはずなのに
200が返されます。何故なんでしょうか?

int main(int argc, char *argv[]) {
array = [[NSMutableArray alloc] init];

[self bindInt:0 value:100];
[self bindInt:0 value:200];

Element *h = [array objectAtIndex:0];
printf("value:%d¥n", *(int*)h.p);
}

- (void)bindInt:(int)holderId value:(int)value
{
// Elementクラスにはvoid *p変数のみ定義されてる
Element *holder = [[[Element alloc] init] autorelease];
holder.p = &value;

[array addObject:holder];
}

ちなみにbindIntのhoderId引数自体を外すと0が返されます。
これもよく理由がわかりません。。


400 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 06:31:06 ]
なんでintのポインタ渡すの? それスグ死ぬやん。

401 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 06:50:20 ]
>>400
へ、死ぬんですか。
変数pはvoid*にして、様々な型を格納できるようにしたかったのです。

まだあまり理解できていないのかも。
この辺りは何をキーワードに調べれば良いのでしょうか。

402 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 10:15:22 ]
void * に格納できるのはポインタだけで、「様々な型を格納」できたりはしないぞ。

403 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 11:45:32 ]
その前に self って誰?



404 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:11:23 ]
プールもないのに autorelease ?

405 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:29:59 ]
>>399
>holder.p = &value;
ここでスタック上に一時的に作られたローカル変数のアドレス取ってるから
ゴミを拾って当たり前
Cの初歩で「ローカル変数のアドレス返しちゃダメ」みたいなトピックあると
思うからその辺から読む事

406 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:54:20 ]
NSImage *backBlock = [[NSImage alloc]
 initWithContentsOfFile:@"./images/Block_0.png"];
のところで、
initializer element is not constant
というエラーが出て途方に暮れています。
何が悪いのか、教えてください。

407 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 15:13:57 ]
それを
NSImage *backBlock = [[NSImage alloc] initWithData:[NSData dataWithContentsOfFile:@"./images/Block_0.png"]];

とかに変えてもエラーが出るのなら、他の部分が問題。

408 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 18:26:43 ]
というか、突っ込みどころが多すぎてどこから突っ込んだらいいのやら。

409 名前:デフォルトの名無しさん [2009/10/18(日) 05:31:50 ]
とりあえず俺のケツから突っ込んでこいよ

410 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 07:59:06 ]
次のようなコードでmyNotePadオブジェクトのプロパティの値を変えようと試みているのですが、//Diagnosticsの部分でNSLogの結果が 0 や (null)と表示されてしまいます。

// プロパティnoteTextにコンテントの内容をセット
myNotePad.noteText = tvContent.text;

// プロパティsavedDateに日付をセット
myNotePad.savedDate = [NSDate date];

// プロパティsaveCyclesをインクリメント
myNotePad.saveCycles++;

//////// Diagnostics
NSLog(@"in saveData - tvContent.text - %@", tvContent.text);
// これはちゃんと表示される

NSLog(@"in saveData - noteText - %@", myNotePad.noteText);
// nullと表示される

NSLog(@"in saveData - savedDate - %@", myNotePad.savedDate);
// nullと表示される

NSLog(@"in saveData - saveCycles - %d", myNotePad.saveCycles);
// 0と表示される


初歩的な質問で申し訳ないのですが、どなたか教えていただけますか?
マジで困ってます・・・


411 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 08:23:33 ]
すみません自己解決しました

412 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [2009/10/19(月) 11:03:58 ]
>>411
自己解決したのはいいとして、何が原因だったかくらい書いたらどうかな?
それを読んで役に立つ人もいるはずだし。

ここでいろいろ助けてもらっても、結果は独り占めして誰にも教えたく無い、
っていう性格なら、まあ強制はしないけどね。

413 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 12:33:12 ]
変数に入った文字列を=で代入なんてできない。初歩的すぎる。



414 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 12:47:57 ]
「myNotePadがnilでした」に 3 retainCount かける。

>>413
なんの話をしているの?

415 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 13:54:51 ]
>>412
そうですね。すみません。
実はメモリをallocしてなかったのが原因でした

>>413
初心者は帰れ!!!!

>>414
そうです。nilでした

416 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 13:57:45 ]
余計なことを言ったばかりに一気に印象が悪くなる。

417 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 19:17:41 ]
馬鹿は死ななきゃ治らないから415の罪じゃないさ。

418 名前:デフォルトの名無しさん [2009/10/19(月) 21:55:11 ]
malloc: *** error for object 0x4c52320: pointer being reallocated was not allocated
これは一体どういう意味なのでしょうか?
メモリを再確保されたポインタはメモリ確保されませんでした?
いまいちよく分からないのですが、具体的にどういう時に出るエラーなのでしょうか?

419 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:13:15 ]
>>418
/usr/lib/libSystem.B.dylib の szone_realloc() 関数の中で
szone_size() 関数が 0 を返すと発生するエラーだよ。

www.opensource.apple.com/source/Libc/Libc-583/gen/scalable_malloc.c

420 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:13:24 ]
>>418
#include <stdlib.h>

int main(int argc, char **argv)
{
char *foo = "abc";
foo = (char *)realloc(foo, sizeof(char) * 4);
return 0;
}
みたいなことをしたときとか。

421 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:14:15 ]
再確保しようとしたポインタは確保されませんでした?

422 名前:418 [2009/10/19(月) 22:44:28 ]
んー明示的にメモリの再確保してる場所はないんですけどね・・・
NSMutableStringのappendStringあたりで変なことになってるんですかね。
とりあえずどういうエラーなのかは分かったので、地道に問題箇所探していきます。
ありがとうございました!

423 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 22:46:34 ]
>>414
413 は、OpenStep API が出る前で NSString* が無かった頃の人なんだよ。
というかここは Obj-C スレなので、Foundation があることを
仮定しないのが自然じゃないかな。

あ、でも、property 使う時点で Obj-C 2 か ...



424 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:01:33 ]
NSStringが登場する前だってNXStringとかあったじゃん

425 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:40:46 ]
疑問です。

NSLog(@"%.f", 0.5);
NSLog(@"%.f", 1.5);
NSLog(@"%.f", 2.5);
NSLog(@"%.f", 3.5);
NSLog(@"%.f", 4.5);
NSLog(@"%.f", 5.5);

とした時、四捨五入されて出力結果は
1 2 3 4 5 6
になると思いきや実際には
0 2 2 4 4 6
となりました。偶数時は5以下は切り捨て。奇数時は5以上を繰り上げているようです。
printfでも同様でした。
なぜこうなるのでしょうか?
10.5、10.6、Cocoaアプリケーション、Standard Tool、C89、C99 等いくつか状況を変えて試しましたがいずれも同じ結果でした。

426 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:55:31 ]
>>425
偶数丸め


427 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:56:05 ]
NSURLConnectionを使ってHTTPでデータの差分取得をしたいのですが

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[request addValue:@"Wed, 30 Jul 2008 12:12:12 GMT" forHTTPHeaderField:@"If-Modified-Since"];
[request addValue:@"445-" forHTTPHeaderField:@"Range"];

NSData *data;
NSURLResponse *response;
NSError *error = nil;
data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

とりあえずリファレンスとか見ながら頑張って↑のコード書いたのですが、
結局差分取得はせずに全部ダウンロードしてしまいます。
どうすればいいのでしょうか・・・

428 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 00:02:33 ]
>>426
ググってみました。ありがとうございます。

429 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 00:06:39 ]
あー、アホだー
bytes=が抜けてました。死んできます。

430 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 00:15:00 ]
この様はiPhoneさまさまなのかな。

431 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 00:59:23 ]
サマーはもう終わりました

432 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 11:33:53 ]
次のスレのはじめには、ここはあくまで言語仕様のスレで、
Mac / iPhone Cocoa プログラムはそれぞれのスレにいくよう
強調したほうがよいかも

433 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 16:28:20 ]
別にいいんじゃん?暇だし。



434 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 16:52:33 ]
まぁね
暇だし
仕事ないし

435 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 16:53:48 ]
>>434
暇なら仕事みつけろよwww

436 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 17:01:38 ]
働いたらそこで試合終了だって安西先生が言ってた

437 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 17:22:02 ]
俺は、親父が残してくれた財産で、
働かずに住んでいるよ。
結局、人生は親の財産次第。

馬鹿な親の子に生まれた子は、一生馬鹿。

438 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 19:01:23 ]
奇遇だな。俺も2chではそうなんだよ。
相続税のこととか考えると、まったく頭が痛いよ。

439 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 20:44:08 ]
>>437,438
働かず、暇があるなら税法をやれば良い。
それで今の税法の穴を見つけてこっそり使えばいいんじゃね。

440 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 21:17:46 ]
スレ違いうざい。

441 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:10:19 ]
そういうスレ違いは許さないんだなw
まぁ当たり前っちゃ当たり前か。スレ違いというか、板すら違うからなw

442 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 22:42:31 ]
国内のMac信者ってなんでこう雑魚ばっかりなんだろう

443 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 23:04:20 ]
まぁ荒れる前にこの話題は終わらせちゃおうぜ!!
releaseだ!release!!



444 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 23:17:59 ]
Cocoa でドットを描くのは NSRectFill(NSMakeRect(x,y,1,1) するのが一般的なの?
難しいな…

445 名前:デフォルトの名無しさん [2009/10/21(水) 22:31:28 ]
せっかくだからOpenGL使ったら?

446 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 22:39:22 ]
なるほど。GL_POINTS を使って点を描く訳ですね。
お絵描きソフトを作ろうと思っているのですが、NSBezierPath 等 Cocoa の API を
使うのと比べてメリットはどんなところがあるでしょうか。

447 名前:デフォルトの名無しさん [2009/10/22(木) 09:44:53 ]
他機種向けのソフトを作る時も、流用しやすい


448 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 19:26:34 ]
クロスプラットフォームなのは嬉しいですね。
ただ今回はプラットフォーム固有の機能をガンガン使って
コーディングするつもりなので、他機種の事は考えていません。

449 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 19:35:39 ]
>>444みたいな面白いこと言い出す奴にそれは無理だと思うの

450 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 19:43:08 ]
ん、どうしてそう思ったの?

451 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 21:46:06 ]
何だ、冷やかしか

452 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 23:49:37 ]
前々から言おうと思ってたけど、iPhoneアプリ開発スレ行けよ
こっちとマルチすんな

453 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 23:53:20 ]
前々?マルチ?iPhone?
いったい誰に向かって言ってるんだ?



454 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 23:59:16 ]
普通の人には見えない何かが見えちゃうと大変だな…

455 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 00:10:45 ]
>>450-451,453-454
www

456 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 00:13:51 ]
何がしたいのか全く分からん…
お大事にね

457 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 00:25:50 ]
で、結局 >>449 は何だったの?

458 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 00:26:49 ]
君らもうMac板に帰ったら

459 名前:デフォルトの名無しさん [2009/10/23(金) 02:43:38 ]
おちつけぢょwww

460 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 03:14:57 ]
何だ、冷やかしか

461 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 04:27:21 ]
ひややっこおいしいです

462 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 16:02:24 ]
NSStringに0123918201とか023384722とかの数字文字が入っているのですが、
それらのNSStringを

if([numString1 intValue] < [numString2 intValue]){ }
else if([numString1 intValue] == [numString2 intValue]){ }
else{ }

のように数値で比較した時、なぜか絶対にイコールのところに入ってしまいます。
NSLogでそれぞれに入っている数字は違う事を確認してるのですが、
それでも==の条件式に当てはまってしまいます。
どういう原因が考えられますか?

463 名前:デフォルトの名無しさん [2009/10/23(金) 16:17:41 ]
すみません、調べてみたら、NSStringに入ってる数字は違うのですが、
intValueにしたら全然違う数値になっている事がわかりました。

NSStringに031424045645って入ってるのに
intValueの値は2147483647になってます。
これは何でなんでしょうか・・・?



464 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 16:27:38 ]
31424045645 → 7 5104 E24D
2147483647 → 7FFF FFFF


465 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 16:28:45 ]
signed int の最大値 INT_MAX が 2^31-1 = 2147483647 って知らないの?
doubleでも使え

466 名前:デフォルトの名無しさん [2009/10/23(金) 16:39:38 ]
あーなるほど・・・。intは4バイトなのでオーバーフローしちゃってるわけですね。
unsigned型でも全然桁がたりませんね。基本的に12桁以下の数値の文字なのですが、
これを数値的に比較するのにいい方法はないでしょうか?

467 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 16:41:29 ]
long longか__int64

468 名前:デフォルトの名無しさん [2009/10/23(金) 16:48:28 ]
>>465
doubleValueだと==を検出できなくなる可能性がありますね。
roundとかで切り捨てれば解決なのかな・・・
ちょっとやってきます。

469 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 17:15:02 ]
NSLog(@"%ll", [numString1 longlongValue]);
でlong long型が表示出来なかったので、数値が確認できず若干不安ではありますが、
期待通りの動作をしているようなので大丈夫なようです。

ありがとうございました。

470 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 17:55:21 ]
%qi です。
ここ参照。
developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265

471 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 18:01:50 ]
>>470
わぁ、ありがとうございますw
大丈夫だと言い聞かせながらも、もの凄く不安でしたw
念のためちゃんとなってるか調べてきます。

472 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 18:17:40 ]
NSLog(@"%@ %qi", numStringX, [numStringX longlongValue]);
文字とそれをlonglong型に変換したものの対応表ですが・・・

031423045645 5833744870023364608
031423045646 5833744874318331905
031424045644 5838039833024397314
031424045644 5838039833024397315
031424045645 5838039837319364611
031424045646 5838039841614331908
031425045644 5842334800320397317
031425045644 5842334800320397318
031425045645 5842334804615364614
031425045646 5842334808910331911

全然大丈夫じゃなかったです。一応文字数値が大きいものほど、
longlongの値も大きくなっているので正常に動作はしているのですが、
んー何でこう思った通りに動かないんだろうか(´・ω・`)
どこも間違ってるようには見えないんですけど・・・

473 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 18:34:11 ]
031423045645      → 7 50F5 A00D
5833744870023364608 →  50F5 A00D 0000 0000

何が起こってるんだろ?



474 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 18:56:22 ]
031423045646      → 7 50F5 A00E
5833744874318331905 →  50F5 A00E 0000 0001

二つ目に関してはLSBが1になってますね。
んー・・・元のNSStringに何か問題があるんですかね・・・

475 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 19:53:27 ]
試しに↓をやってみたら
NSString *testString = [NSString stringWithString:@"012345012345"];
NSLog(@"test: %@ - %qi", testString, [testString longLongValue]);

出力が
test: 012345012345 - 12345012345

になってるので、基本的な使い方としては間違ってない感じですね。
numStringの中に入ってるデータに何か罠がありそうな感じですが、
普通にNSLog(numString)で表示させても、特に変な様子は見られないんですけどね・・・

476 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 20:01:16 ]
ここはお前のメモ帳だ。いいぞもっとやれ。

477 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 20:02:33 ]
何かついてるんでしょうね。とりあえず、NSScanner で読んでみたら?
NSString *str = [NSString stringWithUTF8String:"031425045646"];
NSScanner *scan = [NSScanner scannerWithString:str];
NSLog(@"%@, %qu", str, [str longLongValue]);
NSLog(@"%qu", value);
//031425045646(, 31425045646
//31425045646

478 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 20:06:18 ]
あ、ごめん、スキャン部分が抜けてた。
uint64_t value;
[scan scanLongLong:(long long*)&value];

479 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 20:09:01 ]
NSLog(@"%@ %qi", numStringX, [numStringX longlongValue]);

longlongValue なんて method はないよ。
ほんとうにこのコードで出した対応表なの?

480 名前:デフォルトの名無しさん [2009/10/23(金) 20:10:37 ]
ちょっとNSScannerでやってみます

>>479
その部分は手打ちなのでタイプミスしました。
ソースの方はちゃんとlongLongValueになってます

481 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 20:28:52 ]
NSScannerで確かめて見たら正常に表示されました。
これに関連して、比較用のNSStringを新しくつくって、そこに元のNSStringをぶちこんで
表示させてみたら同様に正常に表示されました。何なんだろう・・・
とりあえず比較用のNSStringを作る事で対処しました。
これで比較部分がようやく安心の動きになるはず・・・
とりあえずありがとうございました!

482 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 01:24:31 ]
おまえらメソッド定義の開き括弧って別の行にする派?
- (id)fucknglyLongMethodNameContainingThousandsOfCharacters:bar
{
それともメソッド名の行にまとめる派?
- (id)fucknglyLongMethodNameContainingThousandsOfCharacters:bar {

あと、メソッドチェインで右の方まで来ちゃったときって、新しい行でメソッド名始めたりする?
[[omgThisIsTooLongSoThatTheNextMethedHangsAtFarRightPositionWTF foo]
thisIsTheSecondMethodSTFU:bar
multipleArgsAnotherPain:poo];
それとも同じ行に置く?
[[omgThisIsTooLongSoThatTheNextMethedHangsAtFarRightPositionWTF foo] thisIsTheSecondMethodSTFU:bar
multipleArgsAnotherPain:poo];

483 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 02:17:55 ]
-(void)括弧は同じ行にする {
[[そんなに長いメソッド名 付けたりはしないけど] 基本的には同じ行かな];
id hoge = [コード見やすい方が気分がいいので あんまりにも右に長くなっちゃう場合は];
[hoge コードを分けちゃいますね];
}



484 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 12:50:09 ]
WikipediaでCの例文見ると
関数宣言は改行で
void a
{
}
条件式は
if () {
}
while () {
}
改行してるみたい。

485 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:09:58 ]
>>484
Wikipediaは例として好ましくありません。
例として引用する場合は、Wikipediaが参照・参考にしている一次情報を引用しましょう。

括弧を次の行におくのはGNUコーディング規約で推奨されています。
同じ行に置く形もどこか有名な団体/企業での採用が元だったと思いますが忘れました(Sunだったかな)。

GNUコーディング規約
www.gnu.org/prep/standards/standards.html#Formatting
www.sra.co.jp/wingnut/standards-j_toc.html

ちなみに私は括弧は同じ行、メソッドチェインは>>483と同様に分割を検討します。
状況によっては新しい行で開始します。同じ行には置かないでしょうね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<248KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef