作者aureolus (Aureo)
看板MacDev
标题[问题] 请问不同class互相设定读取变数问题
时间Thu Apr 14 17:15:19 2016
写的平台是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://webptt.com/cn.aspx?n=bbs/MacDev/M.1460625322.A.8D7.html
1F:推 cryinglove: 不熟osX ,但是应该跟iOS一样,先取得该class,在修改 04/14 18:27
2F:推 darktt: 你要取得a class的instance才能改它的变 04/14 19:15
3F:→ darktt: 数 04/14 19:15
4F:→ LFimi: 这跟哪个平台其实没关系, 很单纯的程式问题 04/14 20:22
5F:→ yr: 单纯 OO 概念而已 04/14 23:00
6F:→ howdiun: 方法太多了,要看使用什麽设计模式 04/15 09:27
非常谢谢各位的帮忙,已经用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
7F:推 darktt: 你这样做每次的变动都会影响全部的A_clas 04/15 13:42
8F:→ darktt: s 04/15 13:42
9F:→ yr: 你到底要改的是 class variable 还是 instance variable ? 04/15 13:59
我要改的是A_class里面宣告的值...我也不太清楚是class还是instance
请问这样变动全部的A_class会发生什麽预期外的错误吗?谢谢!
※ 编辑: aureolus (114.136.75.168), 04/15/2016 16:41:30
非常感谢darktt的帮忙,公司没有前辈可以询问全部只能靠自学
受益良多,谢谢!
※ 编辑: aureolus (60.248.134.2), 04/18/2016 09:06:42