Không thể kết nối cửa hàng với nội dung lặp lại iOS

149
Tomblasta 2014-10-26 00:37.

Tôi vừa tạo một ứng dụng và bắt đầu kết nối @ IBOutlet's với bảng phân cảnh. Tôi đang kết nối một số trong số chúng với các nhãn trong Ô nguyên mẫu UITableViewCell với Kiểu cơ bản. Khi tôi kết nối nó, tôi gặp lỗi này trong Bảng phân cảnh:

Đầu ra detailText từ TableViewController đến UILabel không hợp lệ. Các cửa hàng không thể được kết nối với nội dung lặp lại.

Ai đó có thể giúp tôi không? Tôi đã thiết lập nó theo cách tôi luôn làm thành công nhưng lần này nó đã mắc lỗi này với tôi.

7 answers

172
Wain 2014-10-26 01:10.

Tạo một lớp con ô xem bảng và đặt nó làm lớp của nguyên mẫu. Thêm các cửa hàng vào lớp đó và kết nối chúng. Bây giờ khi bạn cấu hình ô, bạn có thể truy cập các cửa hàng.

76
Fangming 2017-07-15 03:05.

Có hai loại ô chế độ xem bảng được cung cấp cho bạn thông qua bảng phân cảnh, chúng là Nguyên mẫu độngÔ tĩnh

1. Nguyên mẫu động

Từ tên, loại ô này được tạo động. Chúng được kiểm soát thông qua mã của bạn, không phải bảng phân cảnh. Với sự trợ giúp của nguồn dữ liệu và đại biểu của chế độ xem bảng, bạn có thể chỉ định số lượng ô, chiều cao của ô, nguyên mẫu của ô theo lập trình.

Khi bạn kéo một ô vào dạng xem bảng, bạn đang khai báo một nguyên mẫu của các ô. Sau đó, bạn có thể tạo bất kỳ số lượng ô nào dựa trên nguyên mẫu này và thêm chúng vào chế độ xem bảng thông qua cellForRowphương pháp, theo chương trình. Ưu điểm của việc này là bạn chỉ cần xác định 1 nguyên mẫu thay vì tạo từng ô với tất cả các khung nhìn do chính bạn thêm vào (Xem ô tĩnh).

Vì vậy, trong trường hợp này, bạn không thể kết nối các phần tử giao diện người dùng trên nguyên mẫu ô với bộ điều khiển chế độ xem của mình. Bạn sẽ chỉ có một đối tượng bộ điều khiển chế độ xem được khởi tạo, nhưng bạn có thể có nhiều đối tượng ô được khởi tạo và thêm vào chế độ xem bảng của bạn. Việc kết nối nguyên mẫu ô với bộ điều khiển chế độ xem là không hợp lý vì bạn không thể điều khiển nhiều ô với một kết nối bộ điều khiển chế độ xem. Và bạn sẽ gặp lỗi nếu làm như vậy.

Để khắc phục sự cố này, bạn cần kết nối nhãn nguyên mẫu của mình với một UITableViewCellđối tượng. A UITableViewCellcũng là một nguyên mẫu của các ô và bạn có thể khởi tạo bao nhiêu đối tượng ô tùy thích, mỗi đối tượng trong số chúng sau đó được kết nối với một chế độ xem được tạo từ nguyên mẫu ô bảng phân cảnh của bạn.

Cuối cùng, trong cellForRowphương thức của bạn , hãy tạo ô tùy chỉnh từ UITableViewCelllớp và làm những việc thú vị với nhãn

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "yourCellIdentifier") as! YourCell

    cell.label.text = "it works!"

    return cell
}

2. Tế bào tĩnh

Mặt khác, các ô tĩnh thực sự được cấu hình thông qua bảng phân cảnh. Bạn phải kéo các phần tử giao diện người dùng đến từng ô để tạo chúng. Bạn sẽ kiểm soát số ô, chiều cao, v.v. từ bảng phân cảnh. Trong trường hợp này, bạn sẽ thấy chế độ xem bảng hoàn toàn giống trên điện thoại so với những gì bạn đã tạo từ bảng phân cảnh. Các ô tĩnh thường được sử dụng để thiết lập trang, các ô này không thay đổi nhiều.

Để kiểm soát các phần tử giao diện người dùng cho một ô tĩnh, bạn thực sự sẽ cần kết nối chúng trực tiếp với bộ điều khiển chế độ xem của mình và thiết lập chúng.

23
Justin Domnitz 2015-08-11 04:05.

Nếu bạn đang sử dụng chế độ xem bảng để hiển thị Cài đặt và các tùy chọn khác (giống như ứng dụng Cài đặt tích hợp sẵn), thì bạn có thể đặt Nội dung Chế độ xem bảng của mình thành Ô tĩnh trong Trình kiểm tra thuộc tính . Ngoài ra, để làm điều này, bạn phải nhúng Chế độ xem bảng của mình trong một cá thể UITableViewController.

5
SLN 2017-06-19 09:41.

Hoặc bạn không cần phải sử dụng IBOutlet để tham chiếu đến đối tượng trong khung nhìn. Bạn có thể cung cấp cho Nhãn trong tableViewCell một giá trị Thẻ, ví dụ: đặt Thẻ thành 123 (điều này có thể được thực hiện bởi người kiểm tra thuộc tính). Sau đó, bạn có thể truy cập nhãn bằng cách

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "someID", for: indexPath)

    let label = cell.viewWithTag(123) as! UILabel //refer the label by Tag

    switch indexPath.row {
    case 0:
        label.text = "Hello World!"
    default:
        label.text = "Default"
    }
    return cell 
}
1
lee 2017-03-10 17:27.

Với tôi, tôi có một UIViewcontroller, và trong đó tôi có một bảng xem với một ô tùy chỉnh trên đó. Tôi map ổ cắm của tôi về UILabel vào UItableviewcellđến UIViewControllersau đó đã nhận lỗi.

0
Nikhil Muskur 2018-07-31 06:00.

Như hầu hết mọi người đã chỉ ra rằng phân lớp UITableViewCell giải quyết vấn đề này. Nhưng lý do điều này không được phép vì ô nguyên mẫu ( UITableViewCell ) được xác định bởi Apple và bạn không thể thêm bất kỳ cửa hàng nào của riêng mình vào đó.

0
Shourob Datta 2020-07-06 23:07.

Đôi khi Xcode không thể kiểm soát kết nối ổ cắm điện thoại di động chính xác.

Bằng cách nào đó, nhãn / nút của ô hiện tại của tôi đã kết nối với một ô khác, tôi chỉ cần xóa chúng và lỗi sẽ biến mất.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Đây là Tổng thống Trump đe dọa 'trợ cấp' xe điện của GM vì đóng cửa nhà máy

Đây là Tổng thống Trump đe dọa 'trợ cấp' xe điện của GM vì đóng cửa nhà máy

Trump và Giám đốc điều hành GM Mary Barra vào năm 2017. Kể từ khi tin tức nổ ra ngày hôm qua rằng General Motors đang cắt giảm việc làm ở Bắc Mỹ để chuẩn bị cho tương lai điện / xe tự hành / khủng khiếp có thể xảy ra của chúng tôi, gần như tất cả mọi người đã tự hỏi: Tổng thống Trump, người đã vận động tranh cử trên một nền tảng sẽ như thế nào của việc mang lại và duy trì việc làm ô tô của Mỹ, phải nói gì về điều này? Bây giờ chúng ta biết.

Bản vá lỗi tiếp theo của Fallout 76 sẽ mang lại một số bản sửa lỗi cần thiết

Bản vá lỗi tiếp theo của Fallout 76 sẽ mang lại một số bản sửa lỗi cần thiết

Bethesda cho biết ngày hôm nay trên Reddit, Fallout 76 sẽ có một bản vá lớn khác vào ngày 4 tháng 12, sẽ bắt đầu cố gắng khắc phục một số vấn đề lớn hơn của trò chơi. Ngoài ra, công ty cho biết họ có kế hoạch giao tiếp nhiều hơn trong tương lai về những gì nhóm Fallout 76 đang làm việc và khi nào các bản cập nhật mới cho trò chơi sẽ ra mắt.

Mạng lưới bệnh viện Công giáo sẽ không cho phép nhân viên phá thai tại phòng khám ngoài giờ làm việc

Mạng lưới bệnh viện Công giáo sẽ không cho phép nhân viên phá thai tại phòng khám ngoài giờ làm việc

Bạn có biết rằng một trong sáu bệnh nhân ở bệnh viện ở Hoa Kỳ được điều trị tại một cơ sở Công giáo? Và bạn có biết rằng quyền sở hữu của Công giáo hạn chế sâu sắc việc thiết lập các thủ tục y tế có thể được thực hiện trong các bệnh viện này, rõ ràng nhất là khi nói đến chăm sóc sức khỏe sinh sản? Bây giờ NPR báo cáo rằng sự gia tăng của các bệnh viện thuộc Công giáo đang gây khó khăn hơn cho các bác sĩ — những người bị cấm bởi các quy định do Hoa Kỳ viết.

Khói từ đám cháy rừng ở California đã đến tận thành phố New York

Khói từ đám cháy rừng ở California đã đến tận thành phố New York

Đường chân trời San Francisco bị che khuất bởi khói và khói mù do cháy rừng phía sau Đảo Alcatraz, Thứ Tư, ngày 14 tháng 11 năm 2018, ở San Francisco.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.

Language