[問題] objective-c 新手指標請教
知道指標是回傳記憶體位置
但是下面的code有點不了解
MyTime *time = [[MyTime alloc] init];
這段我大概懂,要求一段記憶體存放MyTime物件,用time指著那個記憶體.
time.hour = 10;
這段我就比較不懂,我知道是想要宣告hour=10
可是為什麼不是 *time.hour = 10;
___________
再讀了一些資料了解到objective-c 物件的傳遞訊息特性。
不過還是有些地方不了解
如果一般宣告pointer
int a = 10;
int *b = &a; (這可以分解成int *b; b=&a)
*b == 10;
b == 0x00001
上述應該是沒有錯誤吧?
那麼一開始的問題如果已經用*time宣告time是一個地址變數了
那為何之後不是*time.hour=10
或是[*time setHour:10]
time裡面不是只有地址而已嗎?要找到setHour不是應該是要*time找到地址對應的值setH
our才能傳訊息嗎?
還是說object的pointer比較不一樣?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.102.252
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1472579939.A.349.html
→
08/31 04:45, , 1F
08/31 04:45, 1F
→
08/31 04:46, , 2F
08/31 04:46, 2F
→
08/31 04:50, , 3F
08/31 04:50, 3F
→
08/31 09:57, , 4F
08/31 09:57, 4F
→
08/31 10:10, , 5F
08/31 10:10, 5F
※ 編輯: wrt (39.10.70.106), 08/31/2016 11:39:52
※ 編輯: wrt (39.10.70.106), 08/31/2016 11:41:01
推
08/31 12:15, , 6F
08/31 12:15, 6F
→
08/31 12:17, , 7F
08/31 12:17, 7F
→
08/31 12:45, , 8F
08/31 12:45, 8F
意思是(*time).hour或time.hour都是一樣的?
※ 編輯: wrt (39.10.70.106), 08/31/2016 14:20:10
→
09/01 02:56, , 9F
09/01 02:56, 9F
→
09/01 02:57, , 10F
09/01 02:57, 10F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章