簡體   English   中英

'CompCost'沒有可見的@interface聲明選擇器

[英]No visible @interface for 'CompCost' declares the selector

真的很新,找不到這個問題的任何解決方案

一個

" No visible @interface for 'CompCost' declares the selector " occurs here 
logicForCompCost setAmountTermin:costTermin and for the whole segment

我在另一個邏輯中有一個類似的解決方案,在這里工作正常。

郵局

#import "CompCost.h"
#import "AssEmployeeCost.h"
#import "EmplyeeCost.h"
#import "ResearchCost.h"

@implementation CompCost

-(void) AddAllCompanyCostInformation:(NSNumber *) costTermin
                     withTotalITCost:(NSNumber *) costIT
                   withTotalTeleCost:(NSNumber *) costTele
                  withTotalCleanCost:(NSNumber *) costClean
                     withTotalElCost:(NSNumber *) costEl
                   withTotalSuppCost:(NSNumber *) costSupp
                   withTotalElseCost:(NSNumber *) costElse;
 {

    CompCost *logicForCompCost = [[CompCost alloc]init];

    [logicForCompCost setAmountTermin:costTermin];
    [logicForCompCost setAmountIT:costIT];
    [logicForCompCost setAmountTele:costTele];
    [logicForCompCost setAmountClean:costClean];
    [logicForCompCost setAmountEl:costEl];
    [logicForCompCost setAmountSupp:costSupp];
    [logicForCompCost setAmountElse:costElse];

    if (!_totalCostComp) {
        _totalCostComp = [[NSMutableArray alloc]init];

    }

    [_totalCostComp addObject:logicForCompCost];

}
@end

和CompCost.H

//
//  CompCost.h
//  Signium International
//
//  Created by Simon Z. Kaczmarek on 09/12/13.
//  Copyright (c) 2013 Simon Z. Kaczmarek. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface CompCost : NSObject

@property (nonatomic, strong)NSMutableArray* totalCostComp;

-(void) AddAllCompanyCostInformation:(NSNumber *) costTermin
                     withTotalITCost:(NSNumber *) costIT
                   withTotalTeleCost:(NSNumber *) costTele
                  withTotalCleanCost:(NSNumber *) costClean
                     withTotalElCost:(NSNumber *) costEl
                   withTotalSuppCost:(NSNumber *) costSupp
                   withTotalElseCost:(NSNumber *) costElse;


@end

希望有人能幫忙。 西蒙

將所有這些方法簽名添加到您的CompCost.h

-(void)setAmountTermin:(NSNumber*)amount;

該答案假定方法主體存在於CompCost.m文件夾中。


編輯:我只是注意到您正在嘗試從CompCost.m調用這些方法。 如果要將這些方法作為私有方法,則需要將它們添加到CompCost.m ,而無需將它們添加到CompCost.h


在此處出現邏輯“ CompCompost setAmountTermin:costTermin”和整個段的“'CompCost'的可見@interface聲明選擇器”

您的錯誤是“嘿,您正在嘗試調用一個不存在的方法。” 您需要編寫該方法。 logicForCompCost的類型為CompCost 它需要一個可見的選擇器,其中包含您要調用的方法的名稱。 因為我們正在處理CompCost.m文件,所以您可以編寫一個公共@interface (在.h )或一個私有@interface (在.m ),它將清除此錯誤。 您仍然需要編寫方法主體。


另外,如果將這些內容添加為@properties ,則無需編寫方法。 例如:

@property (nonatomic, strong) NSNumber* amountTermin;

這將amountTermin創建為amountTermin (可以是公共@property ,也可以是私有@property ,具體取決於您的操作方式),並創建一個setAmountTermin方法,該方法采用一個NSNumber*並將其分配給amountTermin並創建一個返回amountTermin (作為NSNumber* )的amountTermin方法。 。 你也可以訪問amountTermin如果您使用的是用點號@property


最后要注意的是……所討論的方法根本沒有意義……該實例方法創建了這種類型的新對象並添加到數組中,該數組也是該類型對象上的實例變量。 您這里遇到了一些組織問題...令人困惑,幾乎肯定會導致麻煩...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM