简体   繁体   English

将 NSNumber 从一种方法传递到另一种方法

[英]Passing a NSNumber from one method to another

I'll just show the example it's easier than words.我只会展示这个例子,它比文字更容易。

.h file .h 文件

@interface Something : UITableViewController <UIAlertViewDelegate, GADBannerViewDelegate>
{
    NSNumber *myNumber;
}

.m file .m 文件

-(void) someMethod1
{
NSLog @("is it reaching here? %@", myNumber);
/// returns Null

}

-(void) someMethod2
{

FixturesObject *closestObject;
NSTimeInterval closestInterval = DBL_MAX; 
for (FixturesObject *myObject in newFixtureObjectArray) {
   if (myObject != nullValue) {
    NSTimeInterval interval = ABS([myObject.date2 timeIntervalSinceDate:[NSDate date]]);
    if (interval < closestInterval) {
        closestInterval = interval;
        closestObject = myObject;
    }
    }
        roundFinder = closestObject.round;
        NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
        [f setNumberStyle:NSNumberFormatterNoStyle];
        myNumber = [f numberFromString:roundFinder];
}
NSLog(@"What is my number? %@", myNumber); 
// this returns like.. 26

}

How do i pass the value from the method below to another method?我如何将下面方法中的值传递给另一种方法? It's not working for me at all.它根本不适合我。

Thank you for your time.感谢您的时间。

myNumber is part of the same object where you have the methods. myNumber是您拥有方法的同一对象的一部分。 You don't need to pass it anywhere.你不需要把它传递到任何地方。 You just need to create a property setter/getter.您只需要创建一个属性设置器/获取器。

The method you are sending the number has to be able to accept the number as parameter, something like this:您发送数字的方法必须能够接受数字作为参数,如下所示:

-(void) someMethod1:(NSNumber*)number{

    if (number) NSLog @("is it reaching here? %@", myNumber);
    /// returns Null

    }

But in this case, have a look at what @Black Frog told you.但在这种情况下,看看@Black Frog 告诉你的。 You don't really need to pass this one as it is "all around".你真的不需要通过这个,因为它“无处不在”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM