objective-c - 对象值在方法之间传递

标签 objective-c object

如果我创建一个属性,例如:

@property(nonatomic, strong) NSString *RSSIvalue;

然后我合成它:

@synthesize RSSIvalue;

然后我可以将其定义为一种方法中的某些内容吗:

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
RSSIvalue = [NSString stringWithFormat:@"%ld", (long)RSSI.integerValue];
}

然后使用我在另一个方法中定义的值:

- (IBAction)setNValueAt1meter:(id)sender
{
self.nValue1m.text = RSSIvalue;
}

最佳答案

可以,只要你的订单正确。

但是在我看来,RSSIvalue 应该存储为在演示期间格式化的数字:

@property(nonatomic, strong) NSNumber *RSSIvalue;

- (void)centralManager:(CBCentralManager *)central
 didDiscoverPeripheral:(CBPeripheral *)peripheral
     advertisementData:(NSDictionary *)advertisementData
                  RSSI:(NSNumber *)RSSI
{
    self.RSSIvalue = RSSI;
}

- (IBAction)setNValueAt1meter:(id)sender
{
    self.nValue1m.text = [NSString stringWithFormat:@"%@", self.RSSIvalue];
    // same as this, only more expensive:
    // self.nValue1m.text = [self.RSSIvalue description];

}

注意self.RSSIvalue的使用。您甚至可以将其设置为long,这样更简单。

关于objective-c - 对象值在方法之间传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20132106/

相关文章:

javascript - 字符串化时间戳对象

ios - 在 for 循环中使用 block 进行快速枚举的错误

ios - Xcode 单选按钮-按下另一个按钮时更改按钮的背景图像

objective-c - NSString 的 initWithContentsOfFile 无法加载任何大于 40kb 的文件,为什么以及解决方案是什么?

javascript - 通过对象的属性之一查找对象的名称

ios - 如何使用核心数据来构建我的模型对象

objective-c - 使用 segue 设置详细 View Controller

iphone - 我们如何隐藏 tableHeaderView 和 tableFooterView?

iphone - 是否可以访问 iOS 钥匙串(keychain)并获取存储的密码以自动完成字段?

Java - 调用ArrayList中对象的方法