[問題] 請問不同class互相設定讀取變數問題

看板MacDev作者 (Aureo)時間8年前 (2016/04/14 17:15), 8年前編輯推噓2(316)
留言10則, 5人參與, 最新討論串1/1
寫的平台是osx非ios,假設今天有兩個class A_class.h , A_class.m , B_class.h , B_class.m 如果A_class中有宣告一個變數int var = 0; 請問如何在B_class讀取A_class的var數值並且能改變他的數值呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.134.2 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1460625322.A.8D7.html

04/14 18:27, , 1F
不熟osX ,但是應該跟iOS一樣,先取得該class,在修改
04/14 18:27, 1F

04/14 19:15, , 2F
你要取得a class的instance才能改它的變
04/14 19:15, 2F

04/14 19:15, , 3F
04/14 19:15, 3F

04/14 20:22, , 4F
這跟哪個平台其實沒關係, 很單純的程式問題
04/14 20:22, 4F

04/14 23:00, , 5F
單純 OO 概念而已
04/14 23:00, 5F

04/15 09:27, , 6F
方法太多了,要看使用什麼設計模式
04/15 09:27, 6F
非常謝謝各位的幫忙,已經用instance關鍵字找到方法了 我的做法是 A_class.h: static int terayport = 0 ; @interface A_class : NSWindowController +(void)valueChangePlus:(int)ser; A_class.m: +(void)valueChangePlus:(int)ser { terayport = ser; } B_class.h: #import "A_class.h" B_class.m: - (IBAction)setbut:(id)sender { [[A_class class] valueChangePlus:50]; } 爬文後試出這樣做能夠成功改變A_class裡面的變數值 請問這種方法會發生什麼預期外的錯誤問題嗎?謝謝! ※ 編輯: aureolus (60.248.134.2), 04/15/2016 09:56:16 ※ 編輯: aureolus (60.248.134.2), 04/15/2016 09:57:08

04/15 13:42, , 7F
你這樣做每次的變動都會影響全部的A_clas
04/15 13:42, 7F

04/15 13:42, , 8F
s
04/15 13:42, 8F

04/15 13:59, , 9F
你到底要改的是 class variable 還是 instance variable ?
04/15 13:59, 9F
我要改的是A_class裡面宣告的值...我也不太清楚是class還是instance 請問這樣變動全部的A_class會發生什麼預期外的錯誤嗎?謝謝! ※ 編輯: aureolus (114.136.75.168), 04/15/2016 16:41:30

04/15 22:05, , 10F
04/15 22:05, 10F
非常感謝darktt的幫忙,公司沒有前輩可以詢問全部只能靠自學 受益良多,謝謝! ※ 編輯: aureolus (60.248.134.2), 04/18/2016 09:06:42
文章代碼(AID): #1N3r-gZN (MacDev)