Ios 线程1:信号SIGABRT Xcode 5.1

Ios 线程1:信号SIGABRT Xcode 5.1,ios,uiimageview,xcode5.1,uncaught-exception,Ios,Uiimageview,Xcode5.1,Uncaught Exception,我正在尝试运行我的应用程序,但是,每次我点击配置文件链接,我的应用程序就会崩溃,我的调试输出中会出现以下消息。请参见下面的屏幕截图。我正在运行Xcode 5.1 [UIImageView setFile:]: unrecognized selector sent to instance 0x10b2ebe00 2014-09-23 11:54:33.498 [1295:60b] *** Terminating app due to uncaught exception 'NSInvalidArg

我正在尝试运行我的应用程序,但是,每次我点击配置文件链接,我的应用程序就会崩溃,我的调试输出中会出现以下消息。请参见下面的屏幕截图。我正在运行Xcode 5.1

[UIImageView setFile:]: unrecognized selector sent to instance 0x10b2ebe00
2014-09-23 11:54:33.498 [1295:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImageView setFile:]: unrecognized selector sent to instance 0x10b2ebe00'
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000102a97495 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x00000001027f699e objc_exception_throw + 43
    2   CoreFoundation                      0x0000000102b2865d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
    3   CoreFoundation                      0x0000000102a88d8d ___forwarding___ + 973
    4   CoreFoundation                      0x0000000102a88938 _CF_forwarding_prep_0 + 120
    5   Uscout                              0x00000001000084c9 -[ProfileViewController updateUserStatus] + 185
    6   Uscout                              0x0000000100008408 -[ProfileViewController viewWillAppear:] + 88
    7   UIKit                               0x000000010149cdb5 -[UIViewController _setViewAppearState:isAnimating:] + 422
    8   UIKit                               0x00000001014bac4d -[UINavigationController _startTransition:fromViewController:toViewController:] + 707
    9   UIKit                               0x00000001014bb787 -[UINavigationController _startDeferredTransitionIfNeeded:] + 547
    10  UIKit                               0x00000001014bc238 -[UINavigationController __viewWillLayoutSubviews] + 43
    11  UIKit                               0x00000001015d6895 -[UILayoutContainerView layoutSubviews] + 202
    12  UIKit                               0x0000000101403993 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 354
    13  QuartzCore                          0x0000000100e9a802 -[CALayer layoutSublayers] + 151
    14  QuartzCore                          0x0000000100e8f369 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 363
    15  QuartzCore                          0x0000000100e8f1ea _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
    16  QuartzCore                          0x0000000100e02fb8 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 252
    17  QuartzCore                          0x0000000100e04030 _ZN2CA11Transaction6commitEv + 394
    18  UIKit                               0x00000001013a2024 _UIApplicationHandleEventQueue + 10914
    19  CoreFoundation                      0x0000000102a26d21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    20  CoreFoundation                      0x0000000102a265f2 __CFRunLoopDoSources0 + 242
    21  CoreFoundation                      0x0000000102a4246f __CFRunLoopRun + 767
    22  CoreFoundation                      0x0000000102a41d83 CFRunLoopRunSpecific + 467
    23  GraphicsServices                    0x0000000102d5bf04 GSEventRunModal + 161
    24  UIKit                               0x00000001013a3e33 UIApplicationMain + 1010
    25  Uscout                              0x0000000100007073 main + 115
    26  libdyld.dylib                       0x0000000105c505fd start + 1
    27  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

ProfileViewController.m

#import "ProfileViewController.h"

@interface ProfileViewController ()
@property (weak, nonatomic) IBOutlet PFImageView *profileImageView;
@property (weak, nonatomic) IBOutlet UILabel *userNameLabel;
@property (weak, nonatomic) IBOutlet UILabel *followersNumberLabel;
@property (weak, nonatomic) IBOutlet UILabel *followingNumberLabel;


@end


@implementation ProfileViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self updateUserStatus];
}

- (void)updateUserStatus {
    PFUser *user = [PFUser currentUser];
    self.profileImageView.file = user[@"profilePicture"];
    [self.profileImageView loadInBackground];
    self.userNameLabel.text = user.username;

    PFQuery *followingQuery = [PFQuery queryWithClassName:@"Activity"];
    [followingQuery whereKey:@"fromUser" equalTo:user];
    [followingQuery whereKey:@"type" equalTo:@"follow"];
    [followingQuery findObjectsInBackgroundWithBlock:^(NSArray *followingActivities, NSError *error) {
        if (!error) {
            self.followingNumberLabel.text = [[NSNumber numberWithInteger:followingActivities.count] stringValue];
        }
    }];

    PFQuery *followerQuery = [PFQuery queryWithClassName:@"Activity"];
    [followerQuery whereKey:@"toUser" equalTo:user];
    [followerQuery whereKey:@"type" equalTo:@"follow"];
    [followerQuery findObjectsInBackgroundWithBlock:^(NSArray *followerActivities, NSError *error) {
        if (!error) {
            self.followersNumberLabel.text = [[NSNumber numberWithInteger:followerActivities.count] stringValue];
        }
    }];
}

- (IBAction)logout:(id)sender {
}




@end

ProfileViewController
中的
updateUserStatus
方法中,您正在对不知道该方法的对象调用该方法
setFile
。即:a
UIImageView
。确保您正在使用要调用该方法的对象

更新

好了:

self.profileImageView.file=user[@“profilePicture”]


UIImageView(如has profileImageView)没有
文件
属性,因此无法设置它。仔细检查设置文件的预期类。

您在哪里调用
setFile
?你能发布一些代码吗?在
updateUserStatus
方法的某个地方,你调用了
setFile:
或者是在错误类型的对象(
UIImageView
)上,或者是使用指向已释放并替换为
UIImageView
的对象的指针,在Objective-C异常的断点导航器中设置断点。这将导致应用程序停止在比main()例程更有趣的地方。@NicolaMiotto我为ProfileViewController添加了代码。谢谢您的回答。@Annette:我不知道教程,但您正在某个地方用键
profilePicture
将一个对象放入
用户
词典中。字典里有什么东西?如果是
UIImage
,则我的代码是正确的。如果它不是
UIImage
,那么您需要找出字典中的内容,并将其转换为
UIImageView
可以显示的内容。谢谢。这门课不正确。我需要将其更改为PFImageView。投票赞成