我有一個SSLYFoodDetailViewController.h
,其內容是無可見@interface聲明選擇
#import <UIKit/UIKit.h>
@interface SSLYFoodDetailViewController : UIViewController
@property(nonatomic, weak) NSString *foodItem;
@property(nonatomic, weak) NSString *restaurantName;
- (void) setFoodItem:(NSString *)foodItem;
- (void) setRestaurantName:(NSString *)restaurantName;
@end
在另一個文件SSLYTableViewController.m
的prepareForSegue
方法中,我嘗試做以下 -
SSLYFoodDetailViewController *sslyFoodDetailViewController = [segue destinationViewController];
[sslyFoodDetailViewController setFoodItem:@"Pasta"];
Xcode是給我有一個錯誤,有No visible @interface for 'SSLYFoodDetailViewController' declares the selector 'setFoodItem'
。
在SSLYTableViewController.m
的頂部,我有import語句 -
#import "SSLYFoodDetailViewController.h"
它是什麼,我的思念?
該錯誤消息意味着某個地方你沒有參數調用'setFoodItem'河 – danielbeard
1.你不需要聲明setter: - (void)setFoodItem:(NSString *)foodItem; - (void)setRestaurantName:(NSString *)restaurantName; 2. XCode有時是一件討厭的事情。嘗試清理並構建甚至刪除派生數據和/或退出XCode並重新啓動。 順便說一句:你確定你想要引用的屬性很弱嗎? –
你爲什麼要聲明這些屬性「弱」? 'NSString'屬性的最佳做法是將它們聲明爲'(非原子,複製)'。 – dasblinkenlight