簡體   English   中英

調用sizeToFit時,ios應用崩潰,無法識別的選擇器發送到實例

[英]ios app crashing with unrecognized selector sent to instance when sizeToFit is called

我發現了一些與此類似的問題,但找不到答案。 我剛剛開始使用attributedText格式化標簽中的文本,這引發了此錯誤:

-[__NSCFType _isDefaultFace]: unrecognized selector sent to instance 0x20880f40
2014-03-18 19:44:57.039 appName[317:907] *** Terminating app due to uncaught exception     'NSInvalidArgumentException', reason: '-[__NSCFType _isDefaultFace]: unrecognized selector sent to instance 0x20880f40'

這是我的方法

-(void) SetDetails
{
if(_curInfo)
{

    NSUInteger length=[_curInfo.company_name length];
    NSString* des = [NSString stringWithFormat:@"%@\r%@\r\r", _curInfo.company_name, _curInfo.description];
    NSUInteger length2=[des length];

    NSString* descript = [NSString stringWithFormat:@"%@\r%@\r\rTerms\r%@", _curInfo.company_name, _curInfo.description, _curInfo.terms];
    NSMutableAttributedString* attrStr = [NSMutableAttributedString attributedStringWithString:descript];

    [attrStr setFontName:@"System - System Bold" size:17 range:NSMakeRange(0, length)];
    [attrStr setTextBold:YES range:NSMakeRange(0, length)];

    [attrStr setFontName:@"System - System Bold" size:17 range:NSMakeRange(length2, 5)];
    [attrStr setTextBold:YES range:NSMakeRange(length2, 5)];



    _lblDescription.attributedText=attrStr;





    [_lblDescription sizeToFit];




    _lblReward.text=_curInfo.reward;

    CGFloat scrollViewHeight = 0.0f;
    for (UIView* view in scroller.subviews)
    {
        scrollViewHeight += view.frame.size.height;

    }

    [scroller setContentSize:(CGSizeMake(320, scrollViewHeight))];

}
}

執行此行[_lblDescription sizeToFit];時將[_lblDescription sizeToFit];

我絕不是專家,任何建議或建議都非常感謝。

頭文件(如果需要):

#import <UIKit/UIKit.h>
#import "ServiceConnector.h"
#import "Global.h"

@interface RestaurantDetail : UIViewController<ServiceConnectorDelegate, UIAlertViewDelegate>{
    IBOutlet UIScrollView *scroller;

}

@property (nonatomic, retain) IBOutlet UIImageView* imgCompany;
@property (nonatomic, retain) IBOutlet UILabel* lblTopName;
@property (nonatomic, retain) IBOutlet UILabel* lblReward;
@property (nonatomic, retain) IBOutlet UILabel* lblCity;
@property (nonatomic, retain) IBOutlet UILabel* lblStreet;
@property (nonatomic, retain) IBOutlet UIButton* btnStreet;

@property (nonatomic, retain) IBOutlet UILabel* lblDistance;
@property (nonatomic, retain) IBOutlet UIButton* btnReward;
@property (nonatomic, retain) IBOutlet UILabel* lblDescription;

@property (nonatomic, retain) RestaurantInfo*   curInfo;
@property (nonatomic, retain) BonusInfo*        bonusInfo;
@property (nonatomic, retain) NSString*        website;


-(IBAction)BackClicked;
-(IBAction)GetRewardClicked;
-(IBAction)TermsClicked;
-(void) GetDetails;
-(void) SetDetails;
- (IBAction)StreetClicked;

// service connector delegate
- (void)requestReturnedData:(NSData*)data;

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

@end

謝謝所有發表評論的人。 它使我指出了正確的方向,以弄清這一點。 它確實確實是一個內存問題,盡管我不太了解它,但它不喜歡我如何更改屬性字符串。

我改變了這個

[attrStr setFontName:@"System - System Bold" size:17 range:NSMakeRange(0, length)];
[attrStr setTextBold:YES range:NSMakeRange(0, length)];

對此

[attrStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:17] range:NSMakeRange(0, length)];

暫無
暫無

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

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