2012-06-08 20 views
7

Tôi hoàn toàn mới đối với nhà phát triển iOS và sử dụng sách để tìm hiểu. Theo các hướng dẫn trong một trong những chương đầu, tôi đã viết một ứng dụng ngắn (mã bên dưới). Nó chỉ mất một số văn bản đầu vào và thay đổi một văn bản của nhãn để phù hợp với nó. Tuy nhiên, khi chạy mã trong trình giả lập, tôi nhận được lỗi sau khi nhấn vào textfield:Baffled bằng cách phải làm gì để sửa các lỗi này (iOS) ... bất kỳ đề xuất nào?

2012-06-08 11: 26: 06,595 HelloNoun [14.926: f803] Khai mạc '/ Users/clhu/Thư viện/Ứng dụng hỗ trợ/iPhone Simulator/5.1/Library/Caches/com.apple.keyboards/images/1859589221 'không thành công:' Không có tệp hoặc thư mục '(2)

2012-06-08 11: 26: 06.702 HelloNoun [14926: f803] 'INSERT INTO lưu trữ VALUES (?,?,?,?,?,?,?,?)' Ràng buộc không thành công (19)

sau đó, khi tôi nhấn nút để đặt nhãn, tôi cũng nhận được các lỗi này:

2012-06-08 11: 27: 09,050 HelloNoun [14.926: f803] - [UIView văn bản]: chọn không được công nhận gửi đến dụ 0xb75ac80

2012-06-08 11: 27: 09,051 HelloNoun [ 14.926: f803] * Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidArgumentException', lý do: '- [UIView văn bản]: chọn không được công nhận gửi đến dụ 0xb75ac80'

* Đầu tiên gọi ném stack:

(0x13c7022 0x 1558cd6 0x13c8cbd 0x132ded0 0x132dcb2 0x21a7 0x13c8e99 0x1414e 0x140e6 0xbaade 0xbafa7 0xba266 0x393c0 0x395e6 0x1fdc4 0x13634 0x12b1ef5 0x139b195 0x12ffff2 0x12fe8da 0x12fdd84 0x12fdc9b 0x12b07d8 0x12b088a 0x11626 0x1dad 0x1d15) chấm dứt gọi là ném một ngoại lệ (LLĐB)

Tôi đã nhìn qua các kết nối của tôi và retraced bước của tôi nhiều lần bây giờ và không thấy bất cứ điều gì blatantly sai (mặc dù tôi chắc chắn rất mới này). Bất cứ ai có thể giúp chỉ cho tôi đi đúng hướng? Cảm ơn!


Dưới đây là các mã:

// ViewController.h 

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UILabel *userOutput; 
@property (strong, nonatomic) IBOutlet UITextField *userInput; 

- (IBAction)setOutput:(id)sender; 

@end 

// ViewController.m 

#import "ViewController.h" 

@implementation ViewController 
@synthesize userOutput; 
@synthesize userInput; 

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

- (void)viewDidUnload 
{ 
    [self setUserOutput:nil]; 
    [self setUserInput:nil]; 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} 

- (IBAction)setOutput:(id)sender 
{ 
    self.userOutput.text = self.userInput.text; 
} 
@end 
+1

Oh thần tốt, đó là khủng khiếp.Bạn đã thử thay đổi trình biên dịch hay cài đặt lại chưa? – CodaFi

+0

Seconding @CodaFi, tôi đoán rằng có điều gì đó khủng khiếp sai với bản cài đặt của bạn. Các lỗi ở đây dường như ngụ ý rằng bạn có một số vấn đề lớn với trình mô phỏng iOS hoặc có thể toàn bộ cài đặt SDK của bạn. Thật đáng sợ. – joverboard

+0

Làm cách nào để thay đổi trình biên dịch? Tôi đã khởi động lại Xcode một vài lần, nhưng chưa cài đặt lại - Tôi sẽ làm điều đó ngay bây giờ để đảm bảo đó không phải là vấn đề. –

Trả lời

4

Tôi chưa bao giờ thấy lỗi đầu tiên trước nhưng bạn có thể thử xóa thư mục cache tại đường dẫn /Users/clhu/Library/Application Support/iPhone Simulator/5.1/Library/Caches. Trình giả lập đủ thông minh để tạo lại.

Đối với lỗi thứ hai, tôi thường thấy rằng khi tôi kết nối thuộc tính với chế độ xem sai trong NIB. Có vẻ như thuộc tính userOutput đang trỏ vào UIView thay vì UITextField. Bạn có thể kiểm tra các kết nối trong NIB của bạn hoặc in ra giá trị của userOutput bằng cách thêm dòng sau vào setOutput:.

NSLog(@"%@", self.userOutput); 

Sản lượng trong bạn đăng nhập sẽ giống như

<UITextField: 0x6fea9f0; frame = (0 0; 100 31); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x6fec700>>

+0

Cảm ơn sự giúp đỡ của bạn! Tôi đã có thể làm cho nó hoạt động. :) –

+1

Tôi đã có cùng một vấn đề. Và điều này cũng làm việc cho tôi. Tôi vừa xóa ~/Library/Application Support/iPhone Simulator/5.1/Library/Caches/directory .. và bingo! –

Các vấn đề liên quan