2011-10-27 23 views
25

Trong appdelegate.m của tôi, applicationDidFinishLaunching không được gọi. Tôi đã đọc rằng điều này là do thực tế của tôi "Ứng dụng" của đại biểu không được kết nối đúng, nhưng tôi không biết làm thế nào để kết nối nó. Những gì tôi làm là nhấn chuột phải vào ứng dụng từ tập tin XIB, và kéo cửa đại diện ở đâu đó ... nhưng không biết ở đâu. Bất kỳ trợ giúp nào được đánh giá cao. Cảm ơn!applicationDidFinishLaunching không được gọi

Trả lời

44

Trong MainMenu.xib của bạn, hãy đảm bảo có một phiên bản của lớp AppDelegate của bạn. Để tạo một đối tượng, hãy kéo đối tượng đơn giản (khối màu xanh) vào danh sách và đặt tên lớp của nó thành AppDelegate (hoặc bất kỳ tên lớp ứng dụng nào của bạn là đại diện).

Cũng trong MainMenu.xib, để kết nối nó, hãy kéo kết nối từ đối tượng Ứng dụng vào cá thể AppDelegate của bạn (khối màu xanh dương) và kết nối nó với cổng đại biểu.

Xong.

+5

Bạn đã tiết kiệm rất nhiều thời gian, cảm ơn! Ngoài ra tôi phải liên kết nó với Chủ sở hữu tệp. –

+1

Cú pháp khái niệm để nhảy vọt là hiểu nib/xib là một tập hợp các * thể hiện * của các đối tượng đông khô. Trong một ứng dụng đang chạy, thường chỉ có một trong các thành phần kiến ​​trúc chính như dụ NSApp của bạn và đại biểu của nó. Bộ điều khiển tài liệu/khung nhìn là ngoại lệ rõ ràng nhưng ngay cả sau đó, một xib nguyên mẫu "tài liệu" riêng biệt chứa một đối tượng đại diện cho cá thể doc, một cửa sổ chính, v.v. Bạn không, tuy nhiên, bao gồm một thể hiện trước của một mô hình đối tượng trong một xib (giống như một Person), vì đây là biến (thường không có một Person nào). Ý chính. :-) –

+1

Cảm ơn vì điều này! Tôi đã dành một ngày cố gắng tìm ra lý do tại sao người trợ giúp đăng nhập của tôi ngừng làm việc đột ngột. Tôi vô tình xóa và sau đó tạo ra một MainMenu.xib – Tibidabo

2

Dưới đây là một cái gì đó để thử nếu bạn đã cập nhật lên Swift 3:

Đi một peek tại của bạn "AppDelegate.swift" và đảm bảo dòng tương ứng trông như thế này:

func applicationDidFinishLaunching(_ aNotification: Notification) { 

như trái ngược này:

func applicationDidFinishLaunching(_ aNotification: NSNotification) { 

Tôi vừa cập nhật ứng dụng và không nghĩ đến kiểm tra. Kết quả là ứng dụng của tôi được khởi chạy, nhưng phương pháp liên quan chưa bao giờ được gọi. Rõ ràng, bạn nên kiểm tra các chức năng khác mà bạn có để lấy các đối tượng Thông báo.

+0

Cảm ơn bạn, đây là điều đã khắc phục được sự cố của tôi, đến từ ứng dụng Swift 2. –

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