2012-04-03 19 views
7

Tôi đang hướng dẫn theo dõi từ http://gabriel.github.com/gh-unit/docs/appledoc_include/guide_testing.html. Vấn đề là dự án của tôi sử dụng ARC và GHUnit thì không. Tôi quản lý các lỗi trước đó, nhưng bây giờ tôi nên làm cầu nối, mà tôi đã không bao giờ được sử dụng, và tôi bị mất.ARC, cầu bắc cầu và GHUnit

NSString *string1 = @"a string"; 
GHAssertNotNULL(string1, nil); //error here 

Lỗi mô tả: chuyển đổi ngầm của Objective-C con trỏ gõ 'NSString *' C kiểu con trỏ 'const void *' đòi hỏi một diễn viên bắc cầu.

Bất kỳ sự giúp đỡ hoan nghênh :)

Trả lời

11

Vì bạn đang so sánh NSString, bạn nên sử dụng kiểm tra GHAssertNotNil. Xem NULL vs nil in Objective-C để biết thêm thông tin.

Vì vậy, ví dụ bạn nên đọc:

NSString *string1 = @"a string"; 
GHAssertNotNil(string1, nil); 

Tôi cũng đã nhận thấy trong các dự án ARC của tôi sử dụng GHUnit rằng file main.m GHUnit cần

-fno-objc-arc 

mối liên kết cờ như đã được đề xuất trước đây .

+0

Bắt tốt. Tài liệu hiện tại chỉ sử dụng GHAssertNotNull thay cho GHAssertNotNil, gây ra các vấn đề với mã ARC. –

1

Bạn có thể loại trừ những file GHUnit từ tự động tham khảo (ARC) từ dự án của bạn bằng cách vào xây dựng giai đoạn -> Compile Nguồn

và sau đó nhấp đúp chuột vào vào các tập tin từ GHUnit, một hộp sẽ xuất hiện, dán sau vào đó

-fno-objc-arc 

Điều này sẽ loại trừ các tệp khỏi GHUnit khỏi tham chiếu tự động (ARC).

+1

Đó là một ý tưởng hay cho đến khi GHUnit không triển khai ARC. Tuy nhiên tôi vẫn muốn biết làm thế nào để làm những cây cầu, như xa cố gắng để có được thông tin này từ một số tài liệu tham khảo ARC. – Vive

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